使用通配符域名在 nginx 中将 https 重定向回 http

使用通配符域名在 nginx 中将 https 重定向回 http

我有一个顶级域名 example.com,上面附加了 SSL 通配符证书,还有一个子域名 forum.example.com,我不希望在其上使用 SSL。

我的问题是如果我输入https://forum.example.com它陷入了重定向循环而不是转到 http//:forum.example.com,我尝试清理浏览器缓存和其他东西但无济于事,所以这一定是我的配置?

# Rid of the WWW
server {
server_name www.forum.example.com;
return 301 $scheme://forum.example.com$request_uri;
}

# Do php-fpm stuff on port 80
server {
server_name forum.example.com;
listen  80;
...
// locations
}

#redirect https requests
server {
listen *:443;
include global/ssl.conf;
server_name forum.example.com;
return 301 http://$server_name$request_uri;
}

就从 URL 中删除示例子域的 SSL 而言,这看起来正确吗?如上所述,这只会导致重定向循环。

编辑:我认为这是我的浏览器在编辑之间的缓存。

答案1

抱歉,家庭事务让我无法再调试这个问题。无论如何,这是正确的解决方案。这是浏览器缓存保存了旧的编辑/重定向。

相关内容