用nginx配置反向代理 搭建cdn服务以及缓存教程

  • Post author:
  • Post category:其他


用nginx配置反向代理 搭建cdn服务以及缓存教程,什么是反向代理?

1、有两台服务器A和B属于同一内网段,但是A不通外网,B通外网,客户端C只有外网

2、C想通过B访问A,就需要在服务器B上做反向代理

3、客户端C通过外网与服务器B通信,服务器B通过内网转发客户端C的请求与服务器A通信。

测试场景:

服务器A 内网IP地址:192.168.234.128  部署了上一篇文章中的bbs网站

服务器B 内网IP:192.168.234.130  外网IP:192.168.111.128

客户端C 外网IP:192.168.111.101

需求:

客户端C能访问到服务器A的bbs网站


1.测试客户端C与服务器B通过外网通信:

#客户端C与服务器B的可以通过外网通信


2.新建并编辑服务器B的nginx虚拟主机配置文件:


[root@centos02 ~]# vi /etc/nginx/conf.d/nginx_proxy.conf


添加如下内容:

server

{


listen 80;

server_name test.bbs.com;

location /

{


proxy_pass http://192.168.234.128;

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/https)+ web服务器IP(如果不是80端口,需要带上端口号,示例:192.168.234.128:8080)如果使用域名,需要在/etc/hosts文件中将域名映射到web服务器地址

当location需要匹配目录时,示例:location /dir/ {},proxy_pass需要配置成:ip:port/dir/;


proxy_set_header Host:如果不设置,web服务器有多个nginx虚拟主机的情况,就容易出错

proxy_set_header X-Real-IP和proxy_set_header X-Forwarded-For: 设置被代理端接收到的客户端IP,如不配置,nginx访问日志来源IP会全部是反向代理服务器的地址



3.从客户端C访问服务器A的bbs网站:


修改Windows系统C:\Windows\System



版权声明:本文为sirobot原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。