仅一个文件夹的 Nginx SSL 重写异常

仅一个文件夹的 Nginx SSL 重写异常

我在我的服务器块中强制访问者通过两种方式使用 SSL

        if ($http_x_forwarded_proto = "http") {
     return 301 https://$server_name$request_uri;
    }

add_header Strict-Transport-Security "max-age=31536000;includeSubdomains; preload";

我现在的问题是,有些脚本无法连接到 SSL,我认为它们不会对 STS 做出反应,但是否可以只从重写中排除一个文件夹而不会带来更多麻烦?我想排除 website.org/feed

答案1

已修复。从重写中排除文件非常简单,serverSSL 重写应该位于块中,而不是location块中,就像

location / {
    if ($http_x_forwarded_proto = "http") {
        return 301 https://$server_name$request_uri;
    }
}

排除后

location /feed/ {}

答案2

您的解决方案太复杂了。只需在您的网站配置中创建一个简单的重定向:

server {
    listen 80;
    server_name yourwebsite.com;

    return 301 https://yourwebsite.com$request_uri;
}

server {
    listen 443 ssl;
    server_name yourwebsite.com;

    Your...;
    Original...;
    Code...;
    ...;
}

相关内容