带有 HTTPS 的 IP 给出“您的连接不是私有的”[Nginx/Ubuntu]
Posted
技术标签:
【中文标题】带有 HTTPS 的 IP 给出“您的连接不是私有的”[Nginx/Ubuntu]【英文标题】:IP with HTTPS gives "Your connection is not private" [Nginx/Ubuntu] 【发布时间】:2019-03-23 12:55:27 【问题描述】:我在 Ubuntu 上使用 nginx 进行 301 重定向,并为我的 Web 应用程序使用反向代理,目的是将流量重定向到非 www url,例如 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 会议。
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 重定向?
https://123.456.789.123 -> https://mywebapplication.com
谢谢你们!
【问题讨论】:
【参考方案1】:这里的问题是您需要 TLS 证书才能获得裸 IP 地址。根据this thread 的说法,这样的证书真的很少见。当您在浏览器中打开证书时(当它显示“您的连接不安全”时),您会看到该证书仅对 mywebapplication.com
有效,对 123.456.789.123
无效。
IP 地址的签名证书没有多大意义。这样的证书将向用户保证他已连接到123.456.789.123
。然而,这并不能说明一切。没有 DNS,用户不知道这个 IP 的背后是谁。用户希望确保他连接到由域名标识的服务,例如mywebapplication.com
,并且并不真正关心 ip 是123.456.789.123
还是321.654.987.321
。
我认为这不是一个大问题。您可以自己查看大型网站是否有裸 IP 证书:(请注意,下面 IP 后面的服务器将来可能会托管其他内容):
谷歌:https://172.217.18.14/ 脸书:https://185.60.216.35/ Github:https://192.30.253.112/这些网站都没有裸 IP 证书。 (有些有针对 HTTP 的重定向)
【讨论】:
以上是关于带有 HTTPS 的 IP 给出“您的连接不是私有的”[Nginx/Ubuntu]的主要内容,如果未能解决你的问题,请参考以下文章
chrome阻止localhost,错误,您的连接不是私有的
XAMPP:您的连接不是私有的 NET::ERR_CERT_AUTHORITY_INVALID