是否可以通过使用ipaddress限制访问?

时间:2017-12-27 15:21:42

标签: ruby-on-rails ssl nginx https

我最近在网站上安装了ssl证书。

我尝试使用ip地址访问该网站

133.255.214.180

重定向到

https://133.255.214.180/

然后显示“您的连接不是私有的”ssl证书错误。我已经为域名购买了ssl证书,而不是ip地址。

当我使用域名访问时,例如

www.example.com 

然后重定向到

https://www.example.com 

没有ssl证书错误。

我在nginx中使用重定向作为

server {
  listen 80;
  server_name 133.255.214.180;

  return 301 https://www.example.com;

}

我想这样做,以便当用户在浏览器的url栏输入ip地址时,它会重定向到域名,即https://www.example.com,这样它就不会显示ssl证书错误。这有可能实现吗?

我感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

HTTPS握手在发送实际请求之前完成,因此如果您键入https://something_without_valid_cert,您将始终收到该错误。

通过发送请求,我的意思是甚至"打开" HTTP通信,包括发回重定向。

原因很简单,如果证书无效,你就无法信任服务器,它可以回复任何事情,包括恶意重定向。

如果您输入http://the_ip_address,您的nginx配置应该有效。因为您发送回301(永久移动),下次浏览器将自动执行重定向而无需调用服务器。