代码之家  ›  专栏  ›  技术社区  ›  yogihosting

本地主机上的Nginx http到https重定向导致页面重定向错误

  •  0
  • yogihosting  · 技术社区  · 1 年前

    我在Ubuntu的Nginx上的localhost上托管了一个简单的静态网站。但重定向代码给了我一个错误“页面重定向不正确”。

    重定向代码提供的问题是:

    return                301 https://$host$request_url;
    

    我指的是 official docs .

    下面给出了我的Nginx代码。

    enter image description here

    生成错误的过程是:

    a.如果没有重定向代码,即“return 301 https://$host$request_url;”。然后打开“https://localhost“效果很好http://localhost不起作用。

    b.我添加了重定向代码,以便http被重定向到https。但它告诉我“页面重定向不正确”。在这里”http://localhost“确实重定向到”https://localhost“但是页面没有正确重定向。请参阅下图:

    enter image description here

    如何解决?

    1 回复  |  直到 1 年前
        1
  •  2
  •   Daniel F    1 年前

    在你的Nginx代码中,你用301回复HTTPS请求。您需要另一个部分,HTTP请求通过301重定向到HTTPS进行回复。

    也就是说,一秒钟 server { ... } 在端口80上侦听的块,并且那个块是重定向的块,而不是在端口443上侦听的那个块。

    您基本上创建了一个HTTPS请求重定向到自身的循环。

    有时设置错误的cookie会产生这种循环,这就是浏览器暗示的原因。