1. 首页
  2. 系统运维
  3. Linux

Nginx反向代理配置和注意事项

反向代理是什么?客户端向反向代理服务器发送请求,反向代理判断后转交请求给真实服务器,并将获得的内容返回给客户端。对客户端而言,它就是原始服务器,客户端不需要做任何设置。例如你访问http://blog.nbqykj.cn/?p=zhangnq,真实情况是http://blog.nbqykj.cn/?p=中没有zhangnq页面。你看到的内容是代理服务器偷偷从另外一台服务器上取回来,然后作为自己的内容返回用户的。

nginx是一个高性能的web服务器,应用广泛。下面是两个nginx反向代理的配置例子。

 location ^~ /nagios/ {
 proxy_pass http://192.168.0.253;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 location ^~ /blog1/ {
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_pass http://192.168.0.243/blog/;
 }

最重要的是proxy_pass这个配置,是他负责转发请求到其他的服务器。

细心的朋友可能发现第一个proxy_pass后面没有加/,而第二个proxy_pass却加了/ 。简单说没加/时,匹配的目录地址会加给后端web服务器,而加了/就表示绝对路径,不会把匹配的目录传给后端web服务器。例如访问http://blog.nbqykj.cn/?p=nagios/,实际访问的是http://192.168.0.253/nagios/。访问http://blog.nbqykj.cn/?p=blog1/实际访问的是http://192.168.0.243/blog/。使用绝对路径可以给后端web项目指定不同的子目录名称。

其他详细参数配置可以参考官方文档说明。

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code