我正在尝试用extern cdn请求的外来flash应用程序替换一些图像。因此我用行
修改了我的etc / hosts127.0.0.1 static.cdn.example.com
现在我正在运行一个nginx网络服务器,代理所有对cdn的调用。我要替换的图像被路由到本地文件,所有其他图像应该传递给原始的cdn。我的nginx配置看起来像这样
location /flash {
rewrite ^.*image1.png /image1.png;
rewrite ^.*image2.png /image2.png;
rewrite ^.*image3.png /image3.png;
proxy_pass http://static.cdn.example.com;
}
问题是,我的hosts-entry阻止nginx解析url,并以无限重定向循环结束。我试图自己查找cdn-ip,但这没效果。我能做什么或做错什么?是否有更简单的方法来拦截特定的网址?
我正在使用Windows 7。
答案 0 :(得分:1)
使用resolver
参数。 Nginx将直接使用解析器DNS服务器,跳过/etc/hosts
。
location /flash {
resolver 8.8.8.8 8.8.4.4;
rewrite ^.*image1.png /image1.png;
rewrite ^.*image2.png /image2.png;
rewrite ^.*image3.png /image3.png;
proxy_pass http://static.cdn.example.com;
}
我在这里将DNS设置为Google's public DNS servers,但您可以随意使用自己想要的DNS。