Nginx反向代理并替换原网址

捣鼓了半天,终于弄好了Nginx的反向代理并替换原来的域名。做个小小的记录,以后能更进一步地学习。

首先,为了能替换url,编译Nginx时需要加上with-http_sub_module模块。如果用的是军哥的lnmp,可以尝试使用军哥的nginx升级脚本(这里),在脚本中的约78行加入 –with-http_sub_module参数。

然后,就是编辑nginx的conf文件了,nginx真是方便啊:

  1. location / {
  2. sub_filter neolee.com f.neobbs.com;  #f.neobbs.com是反向的域名,这里就是为了替换原域名
  3. sub_filter_once off;
  4. proxy_set_header X-Real-IP $remote_addr;
  5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  6. proxy_set_header Referer http://neolee.com;
  7. proxy_set_header Host neolee.com;
  8. proxy_pass http://106.187.39.201; #被代理网站的IP地址
  9. proxy_set_header Accept-Encoding “”;
  10. }

试试看吧,目前http://f.neobbs.com 就能反代老N的博客啦。

另外–with-http_sub_module模块只支持一条记录的替换,如果需要替换多出,请研究下substitutions4nginx这个第三方模块。

来源:http://neolee.com/web/nginx-reverse-proxy-and-replace-the-original-url/

参考资料:http://wiki.nginx.org/HttpSubModule


已发布

分类

来自

标签: