Nginx 针对特定 URL 关闭 SSL

Nginx 针对特定 URL 关闭 SSL

这个配置以前可以工作,但现在不行了。

我应该提到这是 Django、Gunicorn 和 Nginx。

我们正在尝试https://toontowninfinite.com/rpc/使用 http 而不是 https(SSL),并且网站的其余部分仍然使用 SSL。

这是配置:

server {
            listen 80;
            # Force HTTPS!
            server_name toontowninfinite.com;

            # Well, excluding the RPC server. (thanks chan!)
            location /rpc/ {
                    proxy_set_header Host $host;
                    proxy_pass http://toontowninfinite;
            }
            location / {
                    rewrite ^  https://$server_name$request_uri? permanent;
                    add_header Access-Control-Allow-Origin *;
            }
    }

我没有发现这里有任何问题,有什么建议可以解释为什么它仍然强制使用 SSL?

答案1

因为你之后的指令location /rpc/还会被继续解释。

你会发现下列答案对您的案子有帮助。

我建议你尝试一下:

server {
        listen 80;
        # Force HTTPS!
        server_name toontowninfinite.com;

        # Well, excluding the RPC server. (thanks chan!)
        location ^~ /rpc/ {
                proxy_set_header Host $host;
                proxy_pass http://toontowninfinite;
        }
        location / {
                rewrite ^  https://$server_name$request_uri? permanent;
                add_header Access-Control-Allow-Origin *;
        }
}

相关内容