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

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

我有一个网站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;
}

相关内容