现在有一个需求,在浏览器中输入
http://www.baidu.com:8888
通过Nginx帮忙转发到另一个地址
http://localhost/test.html
目前Nginx配置是这样的:
server {
listen 8888;
server_name www.baidu.com;
location / {
proxy_pass http://localhost/test.html;
}
}
可是没能成功,访问http://www.baidu.com:8888
没有响应。请问应该怎么做才能让Nginx拦截请求并帮忙转发呢,运行环境在Windows下
求各位大佬指导指导,谢谢了~~
目前通过配置hosts可以进行转发了,还有一个疑问就是
nginx启动后不能像fiddle一样对所有网络请求进行拦截吗,目前还需要进行hosts配置
你这个问题根本原因是 http://www.baidu.com:8888 的请求并没有发送到你的 nginx 上面。
因为是域名,www.baidu.com 会被解析为公网的 IP,然后请求该 IP 的 8888 端口。
可想而知,这个 IP 是百度公司的云服务器上面的,8888 端口根本就没开,自然访问不了。
肯定不行,nginx 和 fiddle 根本就不是一样的工作逻辑,nginx 只是监听某些网卡的某些端口,发给他什么数据他才能接收什么数据。
fiddle 是监控所有的网卡出去的流量。
两者的目标和作用根本就是天差地别。