当前位置: 首页 > news >正文

准确-NGINX 1.26.2配置正向代理并编译安装的完整过程

NGINX 1.26.2配置正向代理并编译安装的完整过程,使用了ngx_http_proxy_connect_module模块。


1. 环境准备

1.1 安装依赖

确保系统安装了以下必要的依赖:

sudo yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel
1.2 下载 NGINX 源码

从 NGINX 官方下载指定版本(1.26.2)的源码:

wget http://nginx.org/download/nginx-1.26.2.tar.gz

解压源码:

tar -zxvf nginx-1.26.2.tar.gz cd nginx-1.26.2
1.3 下载ngx_http_proxy_connect_module模块

下载模块源码:

wget https://codeload.github.com/chobits/ngx_http_proxy_connect_module/tar.gz/refs/tags/ngx_http_proxy_connect_module-0.0.7.tar.gz

解压模块:

tar -zxvf ngx_http_proxy_connect_module-0.0.7.tar.gz

2. 编译安装 NGINX

2.1 应用模块的补丁

进入 NGINX 源码目录,并应用模块提供的补丁文件:

patch -p1 < ../ngx_http_proxy_connect_module-0.0.7/patch/proxy_connect_rewrite_1018.patch
2.2 配置编译参数

配置编译参数,添加模块路径和相关选项:

./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-http_realip_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --add-module=../ngx_http_proxy_connect_module-0.0.7
2.3 编译安装

执行以下命令进行编译和安装:

make sudo make install

3. 配置正向代理功能

3.1 编辑 NGINX 配置文件

打开 NGINX 配置文件/etc/nginx/nginx.conf

sudo vim /etc/nginx/nginx.conf

http块中添加正向代理配置:

server { listen 8888; # 监听代理端口 server_name localhost; # 服务器名称 resolver 114.114.114.114 ipv6=off; # DNS 解析器设置 proxy_connect; # 启用正向代理模块 proxy_connect_allow 443 80; # 允许代理的端口 proxy_connect_connect_timeout 10s; # 连接超时 proxy_connect_read_timeout 10s; # 读取超时 location / { proxy_pass $scheme://$http_host$request_uri; # 转发请求到目标地址 } }

3.2 创建必要的缓存目录(可选)

确保缓存目录存在,并设置正确的权限:

sudo mkdir -p /var/cache/nginx/client_temp sudo chown -R nobody:nobody /var/cache/nginx sudo chmod -R 755 /var/cache/nginx

3.3 测试并启动 NGINX
测试配置

检查 NGINX 配置文件的语法是否正确:

sudo /usr/sbin/nginx -t
启动 NGINX

启动 NGINX:

sudo /usr/sbin/nginx

如果 NGINX 已经在运行,重新加载配置:

sudo /usr/sbin/nginx -s reload

4. 验证正向代理功能

4.1 设置代理

在客户端(如浏览器或命令行工具)设置代理服务器地址为:

http://<NGINX服务器IP>:8888
4.2 测试代理连接

使用curl验证正向代理是否生效:

curl -x http://<NGINX服务器IP>:8888 http://www.example.com
4.3 查看日志
  • 访问日志/var/log/nginx/access.log
  • 错误日志/var/log/nginx/error.log

5. 常见问题

5.1 代理连接失败
  • 检查防火墙是否阻止了端口8888

    sudo firewall-cmd --add-port=8888/tcp --permanent sudo firewall-cmd --reload
5.2 模块未生效
  • 确保在编译时正确加载了ngx_http_proxy_connect_module模块,并启用了proxy_connect指令。
5.3 权限问题
  • 确保 NGINX 运行用户(如nobody)对/var/cache/nginx目录具有读写权限。

http://www.jsqmd.com/news/437795/

相关文章:

  • 软件测试:功能测试详解
  • 2026年知名的背水面防水砂浆公司推荐:背水面防水砂浆直销厂家推荐 - 品牌宣传支持者
  • 关于解决Cannot resolve com.microsoft.sqlserversqljdbc44.0报错问题
  • 【 C++】模板简介
  • 使用ai一键生成漫剧/真人三视图的实现教程(本地批量生成,4K高清)整合包下载及使用教程
  • 【CUDA】解决以前虚拟机使用qemu导致本机WSL2虚拟化无法使用的问题。
  • 关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
  • 2026年热门的背水面防水砂浆厂家推荐:聚合物防水砂浆实力工厂推荐 - 品牌宣传支持者
  • 修改表字段属性,SQL总结
  • 2026年比较好的广州VR影院公司推荐:广州VR影院靠谱公司推荐 - 品牌宣传支持者
  • RAG——从0到1快速搭建RAG应用
  • 剪辑太慢怎么办?别再熬时间,用对方法才是关键
  • C++ Map红黑树实战全解析
  • Git 拉取 暂存 提交 推送 全教程
  • C++ STL list容器详解与实战
  • 2026年热门的广州悬空影院品牌推荐:广州轨道影院本地公司推荐 - 品牌宣传支持者
  • 全网最详细的 Node.js 卸载和安装教程
  • 鸽姆智库(GG3M)军事算法核心解析 |Core Analysis of GG3M Think Tank’s Military Algorithms
  • CISA:VMware Aria Operations RCE漏洞已遭利用
  • 混合云大数据架构:如何实现跨云数据无缝集成?
  • AI赋能离散制造业数字化工厂解决方案
  • 技术专家路线被严重低估了
  • 2026年知名的日照GEO推广品牌推荐:日照GEO推广高评分公司推荐 - 品牌宣传支持者
  • 芯片研发想跟上软件的节奏?
  • 2026年3月4隔夜暗盘挂单排行榜
  • 【深度学习与医学图像分析】深度卷积神经网络:图像分类、目标检测与语义分割
  • 【深度学习与医学图像分析】注意力机制与Transformer网络在医学图像分析中的理论与应用
  • php 使用 gateway-worker 创建websocket 服务器 (双ws架构)
  • 2026年靠谱的日照GEO排名优化品牌推荐:日照GEO排名优化热门公司推荐 - 品牌宣传支持者
  • 2026年比较好的日照GEO品牌推荐:日照GEO推广靠谱公司推荐 - 品牌宣传支持者