Redirect http://www.servername &;http://servername 重定向到https://servername 不起作用

Redirect http://www.servername &;http://servername 重定向到https://servername 不起作用,redirect,nginx,Redirect,Nginx,我们有一个名为servername.com的服务器,如果有人转到或我们希望他们重定向到 这是Ginx重定向块 server { listen 80; server_name www.servername.com servername.com; rewrite ^/(.*)$ https://servername.com/$1 permanent; } 被重定向到,而servername.com没有被重定向到 我有一个单独的443块来处理https,它可以很好地处

我们有一个名为servername.com的服务器,如果有人转到或我们希望他们重定向到

这是Ginx重定向块

server {
    listen 80;
    server_name www.servername.com servername.com;
        rewrite ^/(.*)$ https://servername.com/$1 permanent;
}
被重定向到,而servername.com没有被重定向到

我有一个单独的443块来处理https,它可以很好地处理。因此,如果有人直接进入,一切正常。但是所有进入servername.comservername.com/demo的条目都失败了

我尝试将www.servername.com和servername.com分开作为单独的块,但同样的问题仍然存在

如何将servername.com流量发送到

编辑:2017年5月16日

已编辑的服务器块已被删除/不建议重写

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

该问题是由于托管提供商的DNS记录发生了更改。 默认情况下,提供商不允许一个域名有2个DNS地址。但在本例中,有两个条目指向两个位置。该条目是在主机提供商端添加的,没有指向正确的服务器或指向两个不同的位置,他们没有承担责任,并指出用户一定是在我们端这样做的。然而,当任何人访问或登录到正确的登录页时,非https请求不会在chrome中的任何地方发出,而是在Mozilla Firefox中正常工作


无论如何,如果您最终遇到了这个问题,您可以做的第一件事是检查DNS指向何处,然后摆弄nginx/apache。

使用
nginx-T
测试
nginx
配置。它通过了测试。在进行更改之后,我通常会重新加载sudonginx-s