使用Nginx配置正向代理,实现内网主机访问外网
创作时间:
作者:
@小白创作中心
使用Nginx配置正向代理,实现内网主机访问外网
引用
1
来源
1.
https://www.cnblogs.com/tiandi/p/18607362
本文将详细介绍如何使用Nginx配置正向代理,以实现内网主机通过外网主机访问外网的需求。文章将从三种不同的代理需求场景出发,提供具体的Nginx配置示例,并附带代理验证方法、Nginx模块安装步骤以及Windows服务器的代理配置方法。
需求1:某几个IP的代理
server {
listen 9000; # 监听端口
server_name localhost;
set $url "proxy_server_doman_or_ip"; # 设置代理的域名或IP变量,这里替换成自己需要代理的网站
location / {
proxy_pass http://$url:8082; # 将请求转发到由 $url 变量表示的地址。
}
}
需求2:域名网站的代理
server {
listen 9000; # 监听端口
server_name localhost;
# 设置DNS解析器的地址为8.8.8.8,并且设置了解析器的缓存时间为300秒(这样每隔300s就会重新解析一次)。ipv6=off 是关闭IPv6的解析支持。
resolver 8.8.8.8 valid=300 ipv6=off;
resolver_timeout 3s; # 设置解析DNS的超时时间为3秒
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_connect_timeout 60s;
set $url "proxy_server_doman_or_ip"; # 设置代理的域名或IP变量,这里替换成自己需要代理的网站
location / {
proxy_pass http://$url:9000; # 将请求转发到由 $url 变量表示的地址。9000是目标网站的端口。
proxy_buffers 256 4K; # 设置用于缓存后端响应的缓冲区大小为256个,每个大小为4K。
proxy_max_temp_file_size 0; # 设置Nginx暂存响应数据的最大临时文件大小为0,即不使用临时文件。
proxy_cache_valid 200 302 1m; # 针对状态码为200和302的响应,设置缓存有效期为1分钟。
proxy_cache_valid 301 1h; # 针对状态码为301的响应,设置缓存有效期为1小时。
proxy_cache_valid any 1m; # 对于其他任何响应状态码,设置缓存有效期为1分钟。
}
}
需求3:所有网站的代理
server {
# 服务器监听的端口号为8080
listen 8080;
# 服务器名称为localhost
server_name localhost;
# 指定DNS服务器地址为114.114.114.114,禁用IPv6解析
resolver 114.114.114.114 ipv6=off;
# 开启HTTP CONNECT方法支持,用于建立与后端服务器的TCP连接
proxy_connect;
# 允许通过代理的端口,这里允许443和80端口
proxy_connect_allow 443 80;
# 建立连接的超时时间为10秒
proxy_connect_connect_timeout 10s;
# 读取数据的超时时间为10秒
proxy_connect_read_timeout 10s;
location / {
# 将请求转发到代理目标
proxy_pass $scheme://$http_host$request_uri;
}
}
代理验证
curl -I https://blog.csdn.net/ -v -x 127.0.0.1:8080
如图所示,出现"HTTP/1.1 200 Connection Established"表示代理服务器已经成功建立了连接。
Nginx模块安装
安装Nginx默认不支持HTTPS,需要额外添加模块ngx_http_proxy_connect_module
。确保模块和Nginx版本匹配。
# 安装patch
yum install patch -y
cd /root
wget http://nginx.org/download/nginx-1.20.2.tar.gz
# 解压
tar xf nginx-1.20.2.tar.gz
# 进入nginx目录
cd nginx-1.20.2/
# 使用patch命令导入补丁 注意路径是否一致 我是直接在根目录操作的
patch -p1 < /root/ngx_http_proxy_connect_module-0.0.2/patch/proxy_connect_rewrite_1018.patch
下面安装Nginx
# 安装编译工具和库
yum install gcc cmake make cmake unzip ncurses-devel gcc gcc-c++ -y
# 配置Nginx编译选项,使其在编译Nginx时包含ngx_http_proxy_connect_module-0.0.2模块
./configure --prefix=/usr/local/nginx --add-module=/root/ngx_http_proxy_connect_module-0.0.2
# 编译和安装Nginx
make && make install
Windows服务器代理配置
Linux代理服务器设置
vi /etc/profile
# 编辑/etc/profile文件 在最后一行加入
export http_proxy=192.168.0.97:8080
export https_proxy=192.168.0.97:8080
export ftp_proxy=192.168.0.97:8080
# 192.168.0.97:8080 为你的代理服务器ip和端口
使用source命令使其生效
source /etc/profile
热门推荐
压倒明朝的最后一根稻草:明末农民起义爆发原因分析
降压药是在早晨服用?还是睡前服用?医生:了解3个情况很关键
年夜饭食材大揭秘!如何挑到最新鲜的?
年夜饭必备:这些传统菜肴有啥寓意?
洛美:夹缝中的首都,揭秘多哥的地理奇观
厦门导游教你如何在1200元预算内玩转厦门
《北京兔儿爷》:传统与现代的碰撞与融合
兔儿爷:从祭月神像到非遗瑰宝
颜真卿书法:一个时代的艺术巅峰
徐州乐园花灯展:传统文化与现代科技的完美融合
徐州乐园糖果世界:国庆亲子游的甜蜜选择
徐州乐园一日游:必打卡项目大揭秘!
利润表:企业财报的秘密武器
当“神兽”遇见神兽:一场跨越千年的文化对话
若馨画社用AI重现《山海经》神兽,传统文化与现代科技的完美融合
《镇墓兽》新作上线:古神兽的现代演绎
青龙舞火出圈:传统神兽的新时代演绎
迪丽热巴:璀璨星光下的多面艺术家
冬游峄山:云海雪景与文化体验的完美融合
探访邾国故城:邹城历史文化的瑰宝
邹城旅游摄影指南:捕捉最美瞬间
春联文案合集:经典、轻松自在及寺庙风格任你选
英雄联盟手游女子赛:巾帼不让须眉,电竞新星闪耀成都
王者荣耀女子公开赛:安琪领衔,女性电竞新势力崛起
环保新时尚:电子烟花点亮2025年春节
除夕夜的不同打开方式:你更喜欢哪一种?
秋冬百褶裙搭配指南:40+女性的温柔穿搭术
清透淡妆与伪素颜妆:新手也能轻松掌握的日常妆容技巧
从《庆余年》剧组学拍贺岁视频:专业技巧让祝福更精彩
纳米比亚死亡谷:红沙、黑树与白地的神秘交响