Nginx正向代理配置

Nginx 正向代理默认只支持 http 协议,不支持 https 协议,需借助 "ngx_http_proxy_connect_module" 模块实现 https 正向代理,详情请参考:

https://github.com/chobits/ngx_http_proxy_connect_module

安装Nginx某些模块会用到的系统类库

bash 复制代码
yum install -y dnf install libxml2 libxml2-devel libxslt-devel gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel patch perl-ExtUtils-Embed gd-devel geoip-devel gperftools gperftools-devel

一、下载 nginx

bash 复制代码
mkdir -p /opt/nginx && cd /opt/nginx
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar -xzvf nginx-1.22.1.tar.gz

二、下载 ngx_http_proxy_connect_module 模块

bash 复制代码
mkdir -p /opt/packages && cd /opt/packages
unzip ngx_http_proxy_connect_module-master.zip
mv ngx_http_proxy_connect_module-master /opt/packages/ngx_http_proxy_connect_module

三、编译安装 nginx

bash 复制代码
cd /opt/nginx/nginx-1.22.1/
patch -p1 < /opt/packages/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_102101.patch
./configure --add-module=/opt/packages/ngx_http_proxy_connect_module ...
make && make install

四、配置 nginx

vim conf/nginx.conf

bash 复制代码
    server {
        listen 8888;
        resolver 8.8.8.8 ipv6=off;
        proxy_connect;
        proxy_connect_allow 443 80;
        location / {
            proxy_pass $scheme://$http_host$request_uri;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_connect_timeout 10;
            proxy_send_timeout 600;
            proxy_read_timeout 600;

        }
    }

五、重启 nginx。

注:`/sbin/nginx -s reload` 新增模块时重启有时不生效。

bash 复制代码
cd /opt/nginx/
./sbin/nginx -s stop
./sbin/nginx
相关推荐
Lenyiin2 分钟前
《 Linux 修炼全景指南: 七 》 指尖下的利刃:深入理解 Vim 的高效世界
linux·运维·服务器·vim·lenyiin
sulikey2 小时前
Linux基础指令与权限管理深度解析:从入门到精通
linux·运维·服务器·ubuntu·centos·linux命令·linux权限
qq_2153978973 小时前
docker 安装 opengauss 高斯数据库
运维·docker·容器
s***46983 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
r***F2623 小时前
若依部署Nginx和Tomcat
运维·nginx·tomcat
u***42074 小时前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
HalvmånEver4 小时前
Linux:进程的切换与调度(进程四)
linux·运维·服务器
运维有小邓@4 小时前
实时日志关联分析工具:智能检测潜在安全威胁
运维·网络·安全
谷隐凡二5 小时前
Docker 的核心理念及技术的简单说明
运维·docker·容器
L***B5685 小时前
如何安装linux版本的node.js
linux·运维·node.js