我们目前的nginx安装程序处理http / https的解决scheme类似于这个答案中指定的解决scheme
nginx.conf
http { upstream backend { server backend.com } upstream backend_ssl { server backend.com:443 } }
网站可用/ domain.conf
server { listen 80; server_name www.domain.com location /a/update { proxy_pass http://backend; } }
网站可用/ domain_ssl.conf
server { listen 443 ssl; server_name www.domain.com location /a/update { proxy_pass https://backend_ssl; } }
我想修改这个使用官方nginx文档中提到的解决scheme来使用单个http / https服务器块。 如何在上述场景中执行此操作,即使位置块url相同,http和https的proxy_pass指令参数也不相同。
使用$schemevariables。
server { listen 80; listen 443 ssl; server_name www.domain.com location /a/update { proxy_pass $scheme://backend; } }