Web services 在Nginx中防止通过IP访问网站的HTTPS
我已经通过AWS在Ubuntu16.04上使用Nginx完成了Web服务器的设置。注册域和子域的所有HTTP通信都重定向到HTTPS。当有人键入“”时,他们会跳转到默认的HTTPS页面 除了一件事,一切都很顺利。。。如果用户键入“”,他们会看到一个页面,上面写着“IP_address的所有者配置了不正确的网站。为了保护您的信息不被窃取…” 我尝试从带有“server\u name”的服务器块重定向,结果显示证书指向错误的站点。所以我只为重定向服务器块创建了一个自签名证书。当然,它现在给出了一个稍微不同的“不可信”信息,并继续提供帮助用户阻止我的网站 我也试着告诉它只返回404,但似乎在它到达那个点之前,就会检查站点是否有效。有没有办法简单地让“https://IP\u Address”返回404错误,或者干脆不响应我不想提供服务的URL 我的配置(为简洁起见进行了编辑)是:Web services 在Nginx中防止通过IP访问网站的HTTPS,web-services,nginx,web,https,webserver,Web Services,Nginx,Web,Https,Webserver,我已经通过AWS在Ubuntu16.04上使用Nginx完成了Web服务器的设置。注册域和子域的所有HTTP通信都重定向到HTTPS。当有人键入“”时,他们会跳转到默认的HTTPS页面 除了一件事,一切都很顺利。。。如果用户键入“”,他们会看到一个页面,上面写着“IP_address的所有者配置了不正确的网站。为了保护您的信息不被窃取…” 我尝试从带有“server\u name”的服务器块重定向,结果显示证书指向错误的站点。所以我只为重定向服务器块创建了一个自签名证书。当然,它现在给出了一个稍
服务器{
监听80个默认_服务器;
侦听[:]:80默认_服务器;
服务器名称;
返回301https://example.org$request_uri;
}
服务器{
监听443sslhttp2;
听[:]:443sslhttp2;
root/var/www/example.org/html;
index.html index.php;
服务器名称example.org www.example.org;
地点/{
try_files$uri$uri/=404;
}
错误\u第500页502 503 504/50x.html;
location=/50x.html{
root/var/www/nginx/html;
}
服务器{
监听443默认_服务器;
侦听[:]:443默认_服务器;
服务器名称;
ssl_证书;
ssl_证书_密钥;
返回301https://example.org$request_uri;
}
服务器{
监听443默认_服务器;
侦听[:]:443默认_服务器;
服务器名称;
ssl\U证书/etc/nginx/ssl/nginx-selfsigned.crt;
ssl\u证书\u密钥/etc/nginx/ssl/nginx-selfsigned.key;
返回301https://visionsforlearning.org$request_uri;
}
提前感谢。经过进一步的实验,我相信答案是将Nginx配置为不响应无效域的初始握手请求。一旦确认握手尝试,任何不成功的操作都会被现代浏览器解释为服务器配置问题,具有潜在的恶意I然后,我不确定Nginx是否支持的技巧是在端口443上侦听来自有效域和子域的联系人,同时不侦听/忽略无效域。使用“全部拒绝”没有解决这一问题,因为SSL握手首先发生。经过进一步的实验,我相信答案是将Nginx配置为不响应无效域的初始握手请求。一旦确认握手尝试,任何不成功的操作都会被现代浏览器解释为服务器冲突fig存在潜在恶意问题。然后,我不确定Nginx是否支持的技巧是在端口443上侦听来自有效域和子域的联系,同时不侦听/忽略无效域。使用“全部拒绝”无法解决此问题,因为SSL握手首先发生。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://example.org$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
root /var/www/example.org/html;
index index.html index.php;
server_name example.org www.example.org;
location / {
try_files $uri $uri/ =404;
}
<SSL stuff, turning off gzip, transport headers, etc.>
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/nginx/html;
}
server {
listen 443 default_server;
listen [::]:443 default_server;
server_name _;
ssl_certificate <path to cert>;
ssl_certificate_key <path to key>;
return 301 https://example.org$request_uri;
}
server {
listen 443 default_server;
listen [::]:443 default_server;
server_name _;
ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
return 301 https://visionsforlearning.org$request_uri;
}