为什么
location /auth0/ { proxy_pass https://cdn.eu.auth0.com/; }
这样就可以
但是
location /auth0/ { proxy_pass https://$arg_host/; }
就404$arg_host === cdn.eu.auth0.com
proxy_pass 是用了变量的话, nginx就不会自动添加 path 到 host 后面
例如 访问 /auth0/xxxx
如果无变量的, 转发地址就是 https://cdn.eu.auth0.com/xxxx
;
有变量的话转发地址 就只是 proxy_pass 的内容, https://$arg_host/
, 需要手动写上其他信息 path query 等等;
改造
location ~* /auth0/(.*) { proxy_pass https://$arg_host/$1$is_args$args; # $1 就是 (.*); $is_args 是 "?"; $args 是全部 query }
https://segmentfault.com/q/1010000039798761?utm_source=sf-similar-question 标签:auth0,nginx,host,404,proxy,https,pass,arg From: https://www.cnblogs.com/zhongchang/p/17663467.html