我的NGINX配置文件中有一节使用proxy_pass
将API流量重定向到上游服务器。我在一个location
块中有server
个,同时提供http和https请求:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name mysite.local; # Valid TLD in production
然后我有location
块来定义我的API网关:
location /api/v1/json {
# Various proxy config directives
proxy_pass http://upstream;
我的问题是:是否可以删除http://
并根据协议将请求传递给我的上游服务器而不分割我的server
块?类似于HTML / JavaScript //mysite.local
请求。
答案 0 :(得分:10)
您可以使用$scheme
变量:
location /api/v1/json {
# Various proxy config directives
proxy_pass $scheme://your-host
}
来自docs:
$scheme
request scheme, "http" or "https"
然后使用与原始请求相同的协议。