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
相关推荐
阳区欠2 小时前
【Linux】进程通信
linux·运维·服务器·共享内存·进程通信·system v·管道文件
may_一一3 小时前
终端SSH连接工具SecureCRT安装和连接Linux
运维·服务器·ssh
姓刘的哦3 小时前
Ubuntu环境安装
linux·运维·ubuntu
再学一丢丢4 小时前
Keepalived+LVS+nginx高可用架构
nginx·架构·lvs
春生黎至10054 小时前
GZ073网络系统管理赛项赛题第1套模块A:网络构建解题笔记
运维·网络
IT程序媛-桃子4 小时前
【网安面经合集】42 道高频 Web 安全面试题全解析(附原理+防御+思路)
运维·网络·安全·面试
❀͜͡傀儡师4 小时前
多台服务器上docker部署 Redis 集群
运维·服务器·redis
JCBP_4 小时前
数据结构4
运维·c语言·数据结构·vscode
Hotlogin5 小时前
多账号登录管理工具技术解析:浏览器指纹与自动化架构设计
运维·自动化
企鹅侠客5 小时前
Prometheus operator怎么添加targets和告警规则
运维·云原生·kubernetes·prometheus·pod