反向代理从nginx中的多个主机中过滤掉js文件

我有一个网站http://someplace.acme.com ,我希望我的用户通过访问http://myplace.mycorp.com – 非常标准的反向代理设置。

特殊要求:任何js文件 – 要么由.js扩展名和/或MIMEtypes(如果可能的话)标识文本/ 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仍然是从远程服务,我不知道如何检查MIMEtypes。 我错过了什么?

关于你的问题的第一部分:

更新你的正则expression式。 如果你只有一个扩展名,我认为你不需要括号:

 location ~* ^.+\.js$ { proxy_pass http://127.0.0.1:8188/filter?source=$1; proxy_redirect off; proxy_buffering off; }