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

本文详细介绍了如何利用nginx配置反向代理,以实现客户端通过外网访问内网服务器,以及如何配置缓存提高访问速度。通过实例展示了服务器A和B的配置,包括nginx配置文件的内容及其作用,以及客户端C访问服务器A的bbs网站的步骤。此外,还探讨了nginx的proxy_buffering、proxy_cache等关键参数的设置,以优化数据传输和缓存策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

用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网站:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值