我们有一个名为servername.com的服务器,如果有人前往http://servername.com或http://www.servername.com,我们希望将其重定向到 https://servername.com
这是thenginx重定向块
server {
listen 80;
server_name www.servername.com servername.com;
rewrite ^/(.*)$ https://servername.com/$1 permanent;
}
http://www.servername.com 正被重定向到 https://servername.com ,而 servername.com >重定向到 https://servername.com
我有一个单独的443块可以处理https,适用于 https://servername.com 。因此,如果有人直接进入 https://servername.com ,一切正常。但是所有进入 servername.com 或 servername.com/demo 的条目都失败了。
我尝试将www.servername.com和servername.com分开作为单独的块,同样的问题仍然存在。
如何将 http://servername.com 或 servername.com 流量发送到 https://servername.com ?
编辑:2017年5月16日
编辑服务器块作为重写被删除/不推荐
server {
listen 80;
server_name www.servername.com servername.com;
return 301 https://servername.com$request_uri;
}
答案 0 :(得分:0)
问题是由于托管服务提供商的DNS记录发生了变化。 默认情况下,提供商不允许一个域名具有2个DNS地址。但在这种情况下,有2个条目指向2个位置。该条目已添加到托管服务提供商的最终,并没有指向正确的服务器或指向2个不同的地方,他们没有承担责任并指出用户必须在我们的结束。但是,当有人前往https://servername.com或https://www.servername.com时,他们会在https://servername.com登陆到正确的目标网页,非https请求不会出现在Chrome中的任何位置,但可以与Mozilla Firefox一起使用。
无论如何,如果您最终遇到此问题,您可以做的第一件事就是检查DNS指向的位置&然后摆弄nginx / apache。