nginx proxy_pass相同协议(HTTP/HTTPS)



我在我的nginx配置文件中有一个部分,该文件使用proxy_pass将API流量重定向到上游服务器。我在一个server块中有location S,同时提供HTTP和HTTPS请求:

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name mysite.local;    # Valid TLD in production

i然后有location块来定义我的API网关:

    location /api/v1/json {
        # Various proxy config directives
        proxy_pass http://upstream;

我的问题是:是否可以根据协议而不会拆分我的server块,将http://删除并将请求传递给我的上游服务器?类似于html/javascript //mysite.local请求。

您可以使用$scheme变量:

location /api/v1/json {
    # Various proxy config directives
    proxy_pass $scheme://your-host
}

来自文档:

$scheme
request scheme, "http" or "https"

然后将使用与原始请求相同的协议。

最新更新