前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装搭建Nginx正向代理

安装搭建Nginx正向代理

作者头像
Diuut
发布2022-11-22 20:29:42
1.2K0
发布2022-11-22 20:29:42
举报
文章被收录于专栏:Diuut

需求 A服务器不能访问C服务,B服务器能访问C服务,A需要通过B的代理来访问C服务。

准备文件(ng在官网,补丁包在github上搜的到):

nginx-1.22.0.tar.gz #nginx包

ngx_http_proxy_connect_module-master.zip #代理补丁包

提前安装依赖

代码语言:javascript
复制
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel

安装编译ngxin

代码语言:javascript
复制
tar zxvf nginx-1.22.0.tar.gz
#解压nginx包
cd nginx-1.22.0.tar.gz
unzip ngx_http_proxy_connect_module-master.zip 
#解压代理补丁包
patch -d /usr/local/nginx-1.22.0/ -p 1 < /usr/local/nginx-1.22.0/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch
#打上补丁
#安装补丁的时候如果没有patch命令加上即可 yum -y install patch
./configure  --with-http_realip_module --with-threads --add-module=/usr/local/nginx-1.22.0/ngx_http_proxy_connect_module-master
#按需配置nginx
make
#编译
make install
#安装
cd /usr/local/nginx/sbin

安装完毕后去nginx安装目录中配置文件下加上代理配置

代码语言:javascript
复制
cd /usr/local/nginx/conf
vi nginx.conf
代码语言:javascript
复制
server {
        listen       8086;
        resolver 8.8.8.8;
        proxy_connect;
        #proxy_connect_allow            443 563;
                        location / {
                                proxy_pass https://$host$request_uri;
                                proxy_buffer_size 64k;
                                proxy_buffers 32 32k;
                                proxy_busy_buffers_size 128k;

                                proxy_set_header Content-Type $http_content_type;
                                proxy_set_header Host $http_host;
                                proxy_set_header Authorization $http_Authorization;
                        }
        }
    }
代码语言:javascript
复制
加上配置后启动nginx
代码语言:javascript
复制
cd /usr/local/nginx/sbin
./nginx -t
#检查配置,为ok的话就可以启动
./nginx
#启动

启动成功后查看端口是否开启代理

代码语言:javascript
复制
netstat -tunlp | grep 8086
#查看对应端口情况
#↓正常情况↓
#tcp  0   0 0.0.0.0:8086      0.0.0.0:*     LISTEN   3552/nginx: master

启动正常后可以在另一台服务器用curl指令进行测试

代码语言:javascript
复制
curl --proxy "xxx.xxx.xxx.xxx:8086" -v "www.baidu.com"
#响应结果中有HTTP/1.1 200 OK即为代理访问成功

还可以去代理服务器ngxin日志中查看到对应的代理访问记录

代码语言:javascript
复制
cd /usr/local/nginx/logs
tail -f access.log
################
[30/Aug/2022:19:19:26 +0800] "GET HTTP://www.baidu.com/ HTTP/1.1" 200 2443 "-" "curl/7.29.0"

此处配置的是通用的间接代理方式,间接代理与直接代理的区别与方法可以参考另一篇文章,《Nginx请求直接代理与间接代理配置》

Post Views: 94

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年8月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档