升级到 v1.10.3 后,nginx http 到 https 重定向停止工作

升级到 v1.10.3 后,nginx http 到 https 重定向停止工作

我最近将 nginx v1.8.1 升级到了 v1.10.3。升级后,“标准”的 http 到 https 重定向配置停止工作(它指向 nginx 默认页面)。我通过简单地回滚到预安装升级来验证这一点,它又恢复正常工作了。有人能给我提供答案或建议,说明为什么它停止工作了吗?用于重定向的代码如下:

server {
    listen 80;
    return 301 https://$host$request_uri;
}

server {

    listen   443;
    server_name www.example.com;

    ...

}

答案1

我最好的猜测是尝试添加

server_name example.com www.example.com;

到您的端口 80 服务器。它应该根据以下要求从请求中获取Nginx 参考(以下摘录),但值得一试。

$host 的优先顺序如下:请求行中的主机名,或“Host”请求标头字段中的主机名,或与请求匹配的服务器名称

您也可以尝试将端口 80 服务器设为默认服务器。

如果这不起作用,请编辑您的问题并提供更多细节 - 您的配置的更完整版本,curl -i 显示您的请求(即 curl 命令行)和响应标头,以及匹配的 Nginx 错误和该 curl 的访问日志。

这可能行不通,但这是解决问题步骤的一部分,而且对于评论来说太长了。如果人们能在它不起作用时尽量不给我差评,那就太好了。

相关内容