我的NGINX配置文件中有一节proxy_pass用于将API流量重定向到上游服务器.我location在一个server块中有s ,它同时提供http和https请求:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name mysite.local; # Valid TLD in production
Run Code Online (Sandbox Code Playgroud)
然后我有location块来定义我的API网关:
location /api/v1/json {
# Various proxy config directives
proxy_pass http://upstream;
Run Code Online (Sandbox Code Playgroud)
我的问题是:是否可以http://根据协议丢弃并将请求传递给我的上游服务器而不拆分我的server块?像HTML/JavaScript //mysite.local请求的东西.
nba*_*ari 13
你可以使用$scheme变量:
location /api/v1/json {
# Various proxy config directives
proxy_pass $scheme://your-host
}
Run Code Online (Sandbox Code Playgroud)
来自文档:
$scheme
request scheme, "http" or "https"
Run Code Online (Sandbox Code Playgroud)
然后,它将使用与原始请求相同的协议.