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

问题描述 投票:0回答:1

我在 Ubuntu 中的 Nginx 本地主机上托管了一个简单的静态站点。但重定向代码给我错误“页面未正确重定向”。

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

return                301 https://$host$request_url;

我指的是官方文档

我的 Nginx 代码如下。

产生错误的过程是:

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

b.我添加了重定向代码,以便 http 重定向到 https。但它给了我“页面未正确重定向”。这里“http://localhost”确实重定向到“https://localhost”,但页面未正确重定向。见下图:

如何解决?

nginx
1个回答
0
投票

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

也就是说,第二个

server { ... }
块侦听端口 80,并且该块是重定向的块,而不是侦听端口 443 的块。

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

© www.soinside.com 2019 - 2024. All rights reserved.