我有一个网站http://someplace.acme.com我希望我的用户通过以下方式访问http://myplace.mycorp.com- 非常标准的反向代理设置。
特殊要求:任何 js 文件 - 无论是通过 .js 扩展名和/或 mime 类型(如果可能的话)text/javascript 标识,都需要从不同的位置提供,即检查 js 是否存在潜在威胁的本地工具。
所以我有
location / {
proxy_pass http://someplace.acme.com;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* \.(js)$ {
proxy_pass http://127.0.0.1:8188/filter?source=$1;
proxy_redirect off;
proxy_buffering off;
}
JS 仍通过远程方式提供服务,我不知道如何检查 MIME 类型。我错过了什么?
答案1
关于问题的第一部分:
更新正则表达式。我认为如果只有一个扩展名,则不需要括号:
location ~* ^.+\.js$ {
proxy_pass http://127.0.0.1:8188/filter?source=$1;
proxy_redirect off;
proxy_buffering off;
}