我已经浏览了很多相关的帖子,但我不明白我哪里出错了。
我希望所有http
,https
以及mydomain.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...
}
我真的很感激帮助。我很困惑。
答案 0 :(得分:0)
我想我已经解决了这个问题,我认为我的问题部分是轨道问题,部分与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;
}
我希望这有助于某人。