以下是我部署的 Web 应用程序的当前情况,我希望它与 SSL 兼容,并且已经将我的证书及其密钥放在虚拟机上(带有 nginx 的 Ubuntu):
当我在搜索栏中使用 https(例如
https://108.251.231.192
)输入虚拟机的外部 IP 地址时,它会将我带到错误页面,显示它“不安全”,恶意攻击者可以从外部 IP 地址窃取您的密码。但是,当我尝试
s
从 中删除时https
,例如http://108.251.231.192
,页面会重定向到我的实际域https
,这就像https://example.com
并且没有问题。当我尝试输入 时
http://example.com
,它会自动重定向到 ,https://example.com
没有任何问题。输入https://example.com
肯定可以让我找到我的应用程序。
所以我的问题是,为什么第一个使用外部 IP 地址https
(不是http
)会让我进入带有不安全警告的错误页面?如果我保持原样,是否可能导致任何问题,或者我应该怎么做才能消除警告?
答案1
您的证书可能没有与您的 IP 地址匹配的 CN。
建立“安全”的 HTTPS 连接意味着您的证书 CN 与请求的主机匹配。