gpt4 book ai didi

ssl - Rails 和 Nginx www 和非 www 搞混了

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:28 25 4
gpt4 key购买 nike

我已经浏览了许多与此相关的帖子,但我不明白我哪里出错了。

我想要的是所有 httphttpsmydomain.com 以及 www.mydomain.com请求转到 https://www.mydomain.com(类似于 this 人)

我检查了我的 SSL 证书,它说它适用于 www.mydomain.com。如果我转到 mydomain.com 或 www.mydomain.com,我已经检查了证书,它似乎提供了相同的信息,而且两者似乎都是安全的(小绿锁)。

我在 this 上尝试了解决方案发布,但出现以下错误:

Restarting nginx: nginx: [emerg] invalid parameter "443" in /path/nginx/sites-enabled/example:3

我遇到的问题是用户在 www.mydomain.com 页面上登录,出于某种原因,他们被重定向到 mydomain.com 页面,然后他们看起来已注销,需要重新登录。老实说,我不确定这是 rails 问题还是 nginx 配置问题。

我的 nginx 配置文件如下:

server {
listen 80;
server_name mydomain.com www.mydomain.com;
return 301 https://www.mydomain.com$request_uri;
}

server {
listen 443 ssl default;
server_name www.mydomain.com;
...other stuff...
}

非常感谢您的帮助。我很困惑。

最佳答案

我想我已经解决了,我认为我的问题部分与 Rails 相关,部分与 Nginx 相关。

在我的轨道上

def default_url_options
if Rails.env.production?
{:host => "myapp.com"}

我改成了

def default_url_options
if Rails.env.production?
{:host => "www.myapp.com"}

它有帮助,但如果人们首先导航到 myapp.com 则不会。

完全修复它的是在我的 nginx 配置文件中添加另一个重定向服务器:

server {
listen 443 ssl;
server_name myapp.com;
return 301 https://www.myapp.com$request_uri;
}

我希望这对某人有帮助。

关于ssl - Rails 和 Nginx www 和非 www 搞混了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22921225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com