使用Nginx正向代理通过互联网区服务器使内网服务器访问互联网
创始人
2025-01-16 19:07:20
0

一、资源准备

1.nginx-1.20.2

2.proxy_connect_rewrite_1018.patch

3.nginx版本和patch版本要对应

二、资源部署(互联网区服务器)

1.将nginx资源与patch资源进行解压

tar -xf nginx.tar.gz unzip ngx_http_proxy_connect_module-master.zip  

2.将ngx_http_proxy_connect_module-master 改名为ngx_http_proxy_connect_module

mv ngx_http_proxy_connect_module-master ngx_http_proxy_connect_module

3.nginx安装要先安装gcc

yum -y install make gcc openssl openssl-devel pcre-devel zlib zlib-devel

4.查看正向代理模块proxy_connect_rewrite_1018.patch的位置

ll ../ngx_http_proxy_connect_module/patch/

5.导入模块

patch -p1 < /nginx/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch 

6.编译

--prefix 代表nginx安装的路径(我的nginx-1.20.2已经改名为nginx),--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态

./configure --add-module=/nginx/ngx_http_proxy_connect_module --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module 

7.安装nginx 安装位置根据 编译时配置的–prefix=

cd /usr/local/nginx
make && make install 

8.配置nginx.conf文件

 #user  nobody; worker_processes  1;  #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info;  #pid        logs/nginx.pid;   events {     worker_connections  1024; }   http {     include       mime.types;     default_type  application/octet-stream;      #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '     #                  '$status $body_bytes_sent "$http_referer" '     #                  '"$http_user_agent" "$http_x_forwarded_for"';      #access_log  logs/access.log  main;      sendfile        on;     #tcp_nopush     on;      #keepalive_timeout  0;     keepalive_timeout  65;      #gzip  on; 	server { 		#代理后端口 		listen 9090; 		charset utf-8; 		# dns resolver used by forward proxying 		resolver 114.114.114.114; 		# forward proxy for CONNECT request 		proxy_connect; 		#设置为all,允许转发所有的端口 		proxy_connect_allow all;  		proxy_connect_connect_timeout 10s; 		proxy_connect_read_timeout 10s; 		proxy_connect_send_timeout 10s; 		# forward proxy for non-CONNECT request 		location / { 		  if ($scheme = 'http') { 			proxy_pass http://$host$request_uri; 		  } 		  if ($scheme = 'https') { 			proxy_pass https://$host$request_uri; 		  } 		  proxy_set_header Host $host; 		  proxy_buffers 256 4k; 		  proxy_max_temp_file_size 0k; 		} 	}        # another virtual host using mix of IP-, name-, and port-based configuration     #     #server {     #    listen       8000;     #    listen       somename:8080;     #    server_name  somename  alias  another.alias;      #    location / {     #        root   html;     #        index  index.html index.htm;     #    }     #}       # HTTPS server     #     #server {     #    listen       443 ssl;     #    server_name  localhost;      #    ssl_certificate      cert.pem;     #    ssl_certificate_key  cert.key;      #    ssl_session_cache    shared:SSL:1m;     #    ssl_session_timeout  5m;      #    ssl_ciphers  HIGH:!aNULL:!MD5;     #    ssl_prefer_server_ciphers  on;      #    location / {     #        root   html;     #        index  index.html index.htm;     #    }     #}  } 

如果没有代理端口要求可直接复制使用,此处代理端口为9090

9.访问互联网测试,出现以下互联网区的正向代理就成了

 curl -I http://www.baidu.com/ -v -x 127.0.0.1:9090  curl -I https://www.baidu.com/ -v -x 127.0.0.1:9090   HTTP/1.1 200 Connection Established Proxy-agent: nginx  HTTP/1.1 200 OK Accept-Ranges: bytes Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform Connection: keep-alive Content-Length: 277 Content-Type: text/html Date: Sun, 12 Feb 2023 09:31:07 GMT Etag: "575e1f60-115" Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT Pragma: no-cache Server: bfe/1.0.8.18 

三、内网服务器配置

1.编辑全局配置

vim /etc/profile
# 这里的地址要写代理的服务器IP地址+代理端口 export http_proxy=互联网区服务器IP:9090 # 这里的地址要写代理的服务器IP地址+代理端口 export https_proxy=互联网区服务器IP:9090

如果互联网区服务器的IP+端口还做了安全网闸代理,则替换为代理后的

使配置生效

source /etc/profile

2.访问互联网测试

curl -I http://www.baidu.com -v -x http://互联网区IP:9090  HTTP/1.1 200 Connection Established Proxy-agent: nginx  HTTP/1.1 200 OK Accept-Ranges: bytes Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform Connection: keep-alive Content-Length: 277 Content-Type: text/html Date: Sun, 12 Feb 2023 09:31:07 GMT Etag: "575e1f60-115" Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT Pragma: no-cache Server: bfe/1.0.8.18 

出现上述画面则代表成功了!

额外测试:

telnet 互联网区服务器IP 代理端口

curl www.baidu.com

curl指令可以通,telnet也没问题,但java程序使用htttpClient调用失败:java.net.ConnectException或jUnknownHostException可参考以下文章:

Linux系统curl指令可以通,telnet也没问题,但java程序使用htttpClient调用失败:java.net.ConnectException或jUnknownHostException-CSDN博客

相关内容

热门资讯

热点推荐!!wepooke系统... 1、热点推荐!!wepooke系统规律(辅助挂)2025新版(2020已更新)(哔哩哔哩);代表性(...
黑科技肯定(WePoKe)ai... 黑科技肯定(WePoKe)ai机器人代打德州(ai代打)果然是有挂(2025已更新)(哔哩哔哩)1、...
黑科技app(微扑克发牌机制)... 黑科技app(微扑克发牌机制)外挂透明挂辅助挂(透视)本来存在有挂(有挂分享)-哔哩哔哩1、游戏颠覆...
黑科技ai代打(WePoKe)... 您好,微扑克代打这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这...
如何分辨真伪!wpk这个软件真... 如何分辨真伪!wpk这个软件真实吗(ai代打)2025新版总结(2023已更新)(哔哩哔哩)1、打开...
黑科技讲解(轰趴十三水有后台吗... 黑科技讲解(轰趴十三水有后台吗)外挂透明挂辅助器(透视)真是真的是有挂(有挂神器)-哔哩哔哩;小薇(...
重大消息!wepoke软件透明... 重大消息!wepoke软件透明挂多少钱(黑科技ai)爆料教程(2021已更新)(哔哩哔哩)1、任何德...
黑科技科技(WePoKe)德州... 黑科技科技(WePoKe)德州ai硬件(黑科技ai)原来是真的有挂(2026已更新)(哔哩哔哩)1、...
黑科技脚本(wepoke辅助机... 黑科技脚本(wepoke辅助机器人)外挂透明挂辅助器(透视)本来真的是有挂(有挂总结)-哔哩哔哩1)...
揭秘真相!德州辅助分析软件(透... 揭秘真相!德州辅助分析软件(透明挂黑科技)AI教程(2022已更新)(哔哩哔哩)1、构建自己的微扑克...