nginx staging 使用端口号将 http 重写为 https

nginx staging 使用端口号将 http 重写为 https

我收到了 400 错误请求。

这是配置代码。文件:staging.rewrites

if ($scheme = http) {
   return 301 https://$host:[port]$request_uri;
}

有人知道这是否是有效的重写吗?

答案1

我不知道您的配置文件在哪里,但我宁愿在您的 80 端口中使用以下几行来重写对端口 443 的请求:

server {
    listen 80;

    server_name YOURSERVER_DOMAIN;

    access_log /var/log/nginx/access.http.log detailed;
    error_log /var/log/nginx/error.http.log notice;

    location / {
        rewrite ^ https://$host$request_uri? permanent;
    }
}

问候

答案2

这是在 nginx 中执行 http -> https 重定向的首选方法:

server {
    server_name example.com;

    return 301 https://www.example.com$request_uri;
}

相关内容