【问题标题】:IP with HTTPS gives "Your connection is not private" [Nginx/Ubuntu]带有 HTTPS 的 IP 给出“您的连接不是私有的”[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

谢谢你们!

【问题讨论】:

    标签: ubuntu redirect nginx https reverse-proxy


    【解决方案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 后面的服务器将来可能会托管其他内容):

    这些网站都没有裸 IP 证书。 (有些有针对 HTTP 的重定向)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2022-06-10
      • 2017-10-19
      • 2018-07-03
      • 1970-01-01
      • 2017-10-15
      • 2010-09-07
      相关资源
      最近更新 更多