用nginx做正向代理,即(使内网机器可以通过互联网服务器上互联网
用nginx做正向代理,即(使内网机器可以通过互联网服务器上互联网)
- 1.下载nginx安装包 此处下载nginx-1.20
- 2.下载正向代理模块包
- 3.部署nginx服务
- 3.1. 上传nginx包和正向模块包至互联网服务器
- 3.2 解压 改名
- 3.3 安装nginx
- 3.4 配置正向代理(举例,将正向代理端口配置在8030上)
- 3.5 测试nginx所在的互联网机器是否正常
- 3.6 内网机器全局配置,所有请求都能够正常使用代理访问外网
- 3.7测试内网服务器(即不能访问外网的服务器),使用代理上网
1.下载nginx安装包 此处下载nginx-1.20
https://nginx.org/en/download.html 官网下载地址
2.下载正向代理模块包
https://github.com/chobits/ngx_http_proxy_connect_module 下载地址
nginx版本与代理模块对照表
3.部署nginx服务
此处使用的是nginx-1.20.2,对应proxy_connect_rewrite_1018.patch
3.1. 上传nginx包和正向模块包至互联网服务器
3.2 解压 改名
tar -xf nginx.tar.gz unzip ngx_http_proxy_connect_module-master.zip mv ngx_http_proxy_connect_module-master ngx_http_proxy_connect_module
3.3 安装nginx
基础运行环境安装
yum -y install make gcc openssl openssl-devel pcre-devel zlib zlib-devel
查看正向代理模块proxy_connect_rewrite_1018.patch的位置
ll ../ngx_http_proxy_connect_module/patch/
导入模块 后面为模块路径
patch -p1
编译
#配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module查看nginx的客户端状态 ./configure --add-module=/nginx/ngx_http_proxy_connect_module --prefix=/usr/local/nginx-1.20.2 --with-http_ssl_module --with-http_stub_status_module
安装nginx 安装位置根据 编译时配置的–prefix=
make && make install
3.4 配置正向代理(举例,将正向代理端口配置在8030上)
在nginx.conf文件里的http节点下增加
server { listen 8030; server_name localhost; resolver 114.114.114.114 ipv6=off; proxy_connect; proxy_connect_allow all; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; location / { proxy_pass https://$host$request_uri; proxy_set_header HOST $host; proxy_http_version 1.1; proxy_ssl_server_name on; } }
3.5 测试nginx所在的互联网机器是否正常
curl -I http://www.baidu.com/ -v -x 127.0.0.1:8030 curl -I https://www.baidu.com/ -v -x 127.0.0.1:8030 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
3.6 内网机器全局配置,所有请求都能够正常使用代理访问外网
# 追加配置 vim /etc/profile # 这里的地址要写代理的服务器地址 http_proxy=192.168.0.20:80 # 这里的地址要写代理的服务器地址 https_proxy=192.168.0.20:443 # 这里的地址要写代理的服务器地址 ftp_proxy=192.168.0.20:443 export http_proxy export https_proxy export ftp_proxy # 加载配置 source /etc/profile
3.7测试内网服务器(即不能访问外网的服务器),使用代理上网
curl -I https://www.baidu.com -v -x http://ip:8030 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
此时内网机器已经可以通过互联网机器对应的正向代理端口访问互联网了
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!