ruby-on-rails - 是否可以使用 ipaddress 来限制访问?

标签 ruby-on-rails ssl nginx https

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

我试过使用ip地址访问网站

133.255.214.180

它重定向到

https://133.255.214.180/

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

例如当我使用域名访问时

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 证书错误。这有可能实现吗?

我很感激任何帮助。谢谢!

最佳答案

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

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

原因很简单,如果证书无效,您就无法信任服务器,它可以响应任何内容,包括恶意重定向。

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

关于ruby-on-rails - 是否可以使用 ipaddress 来限制访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47994595/

相关文章:

ruby-on-rails - Rails validates_uniqueness_of 跨多列且不区分大小写

ruby-on-rails - 基本 rails 问题

mysql - 日志 Rails 中未知的 SQL 平均查询

NGINX 反向代理到需要子域的 URL

ssl - nginx、Meteor 和 Docker : Proxy SSL redirection does not work on localhost

ruby-on-rails - 如何在 ruby​​ 交互式 shell 中有多行?

ssl - 无法通过 VPN 连接到服务器上的 HTTPS

javascript - 为什么 https.Agent 在通过 node-http-proxy 代理时抛出解析错误?

c# - 为什么 HttpWebRequest.ClientCertificates 是一个集合

php - PDO 插入查询减慢网站速度