我正在Ubuntu上使用NGINX进行301重定向,并为我的Web应用程序使用了反向代理,目的是将流量重定向到非www网址,例如https://mywebapplication.com
。
使用我当前的NGINX Conf文件配置:
mywebapplication.com -> https://mywebapplication.com
www.mywebapplication.com -> https://mywebapplication.com
http://mywebapplication.com -> https://mywebapplication.com
http://www.mywebapplication.com -> https://mywebapplication.com
123.456.789.123 -> https://mywebapplication.com
http://123.456.789.123 -> https://mywebapplication.com
工作正常,但是当URL中提供了带有HTTPS的IP时,我得到“您的连接不是私有的”。
https://123.456.789.123->您的连接不是私有的
这是我的NGINX Conf。
server {
listen 123.456.789.123:80;
location / {
proxy_pass "http://localhost:4000/";
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
server {
listen 123.456.789.123:80;
server_name 123.456.789.123 123.456.789.123:4000;
return 301 https://mywebapplication.com$request_uri;
}
server {
listen 80 http2;
listen [::]:80 http2;
server_name mywebapplication.com www.mywebapplication.com;
return 301 https://mywebapplication.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.mywebapplication.com;
return 301 https://mywebapplication.com$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name mywebapplication.com;
...
...
...
...
}
如何使用HTTPS处理IP到301成功的重定向?
谢谢你们!
答案 0 :(得分:0)
这里的问题是,您需要使用TLS证书来获取裸IP地址。根据{{3}},这种证书确实很少见。在浏览器中打开证书时(当它显示“您的连接不安全”时),您会看到该证书仅对mywebapplication.com
有效,对123.456.789.123
无效。
为IP地址签名的证书没有多大意义。这样的证书将向用户保证他已连接到123.456.789.123
。但是,这并不能真正说明问题。如果没有DNS,则用户不知道该IP的背后是谁。用户希望被连接以确保他已连接到mywebapplication.com
。
我认为这不是一个大问题。您可以亲自查看大型网站是否具有裸IP证书:(请注意,下面IP后面的服务器将来可能还会托管其他内容):
这些站点都没有裸机IP证书。 (有些已经将HTTP重定向到位)