Nginx反向代理并替换原网址

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

首先,为了能替换url,编译Nginx时需要加上--with-http_sub_module模块。

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

location / {
  sub_filter imhdr.com f.imhdr.cn;  #f.imhdr.cn是反向的域名,这里就是为了替换原域名
  sub_filter_once off;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Referer https://www.imhdr.com;
  proxy_set_header Host neolee.com;
  proxy_pass http://106.187.39.201; #被代理网站的IP地址
  proxy_set_header Accept-Encoding "";
}

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

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

发表评论