nginx配置正向代理(支持http和https)

使用NGINX作为HTTPS正向代理服务器 NGINX主要设计作为反向代理服务器,但随着NGINX的发展,它同样能作为正向代理的选项之一。正向代理本身并不复杂,而如何代理加密的HTTPS流量是正向代理需要解决的主要问题。本文将介绍利用NGINX来正向代理HTTPS流量两种方案,及其使用场景和主要问题。 HTTP/HTTPS正向代理的分类 简单介绍下正向代理的分类作为理解下文的背景知识: 按客户端有无... 阅读详情
AI摘要

本文介绍如何为已安装的Nginx配置正向代理功能,并安装第三方模块ngx_http_proxy_connect_module。通过详细的步骤说明如何编译安装、配置及测试正向代理,帮助读者实现对HTTPS流量的有效代理。

ngin配置正向代理

ps:本文只讲nginx已安装的情况下,如何安装第三方模块,如果nginx未安装的话,操作更简单
nginx配置正向代理,首先要安装第三方模块ngx_http_proxy_connect_module-master(此模块是针对https的访问,如果只访问http,则不需要此模块)
首先下载:https://github.com/chobits/ngx_http_proxy_connect_module/archive/master.zip
nginx和模块间有版本对应关系,详见:http://www.github.com/chobits/ngx_http_proxy_connect_module
1、查看nginx的版本和参数信息
需要确认之前的nginx是否已经安装了ngx_http_proxy_connect_module模块,没安装才需要安装

[root@qqq nginx]# /usr/sbin/nginx -V
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-stream_ssl_preread_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'

2、下载相同版本的nginx,ngx_http_proxy_connect_module模块

wget http://nginx.org/download/nginx-1.16.1.tar.gz
wget https://github.com/chobits/ngx_http_proxy_connect_module/archive/master.zip
tar -zxvf nginx-1.16.1.tar.gz
unzip master.zip
cd nginx-1.16.1
#打补丁,版本要对应
patch -p1 <  /usr/local/src/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_101504.patch
#执行编译命令,步骤1查看到的参数完全不变,然后在最后面加上--add-module=/usr/local/src/ngx_http_proxy_connect_module-master
./configure  --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-stream_ssl_preread_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'  --add-module=/usr/local/src/ngx_http_proxy_connect_module-master
#执行make命令,前往不要用make install
make
#将原来的nginx文件备份
cp /usr/sbin/nginx /usr/local/src/bak/old_nginx
#替换新生成的nginx文件
cp  /usr/local/src/nginx-1.16.1/objs/nginx usr/sbin/nginx
#替换之前可能需要停止nginx,执行/usr/sbin/nginx -s stop即可

3、启动nginx

#首先进行测试
/usr/sbin/nginx -t

测试可能出现如下错误:nginx: [emerg] dlopen() “/usr/lib64/nginx/modules/ngx_stream_module.so” failed (/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_set_options) in /usr/share/nginx/modules/mod-stream.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

直接将新编译的nginx下的文件复制到相应路径即可

 cp /usr/local/src/nginx-1.16.1/objs/ngx_stream_module.so /usr/lib64/nginx/modules/
 #测试成功后启动nginx
 /usr/sbin/nginx

4、nginx正向代理配置
进去/etc/nginx/nginx.conf,在http模块添加如下配置即可

 #resolver 114.114.114.114; #可选,DNS配置
    server {
        resolver 114.114.114.114 ipv6=off;
        resolver_timeout 10s;
        listen 82;
        proxy_connect;                          #启用 CONNECT HTTP方法
        proxy_connect_allow            443 80;  #指定代理CONNECT方法可以连接的端口号或范围的列表
        proxy_connect_connect_timeout  20s;     #定义客户端与代理服务器建立连接的超时时间
        proxy_connect_read_timeout     20s;     #定义客户端从代理服务器读取响应的超时时间
        proxy_connect_send_timeout     20s;     #设置客户端将请求传输到代理服务器的超时时间
        location / {
             proxy_pass $scheme://$http_host$request_uri;
        }
   }

5、需要出网服务器配置
打开/etc/profile文件,在最下面添加如下配置即可

#http代理,ip是nginx的ip,端口是步骤4配置的监听端口
export http_proxy="http://ip:82"
#https代理
export https_proxy="http://ip:82"
#不需要代理的ip,访问这些ip,不会走代理
export no_proxy="127.0.0.1, localhost"

6、测试

curl http://www.baidu.com
curl https://www.baidu.com

访问成功就恭喜你了

在Linux中搭建Nginx和多个版本PHP源码的集群 Nginx+PHP安装在公网IP为y.y.y.y的服务器上 需要下载安装的软件版本:nginx-1.20.1+php-5.6.36+php-7.4.28 阅读详情

相关推荐

AI风控系统中的实时决策架构:架构师的关键设计

当用户点击「确认支付」时,一场毫秒级的“欺诈攻防战”正在后台悄然打响:系统需要在100ms内完成用户行为特征提取→欺诈模型推理→规则引擎校验→最终决策返回。这就是AI风控实时决策架构的核心——用技术对抗“实时化的欺诈手段”。本文将以「餐厅智能点餐系统」为类比,拆解实时风控架构的每一层逻辑:从“如何快速拿到用户的实时行为特征”(像服务员实时收集顾客的忌口),到“如何让模型和规则协同决策”(像厨师长结合菜谱和经验判断菜能不能做),再到“如何保证系统扛住大促的高并发”(像餐厅加桌子应对客流高峰)。我们会用。

2502_91592937的博客 1472

linux nginx配置stream后启动报异常 /usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_s

1、yum安装nginx后执行启动能否正常启动,是否会报错(nginx: [emerg] dlopen() “/usr/lib64/nginx/modules/ngx_stream_module.so” failed (/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_set_options) in /usr/local/nginx/conf/nginx.conf:1)4、重新安装指定版本的nginx。

iiill的博客 7813

ATAC-seq数据分析流程

Outline0. ATAC-seq原理0.1 染色体结构0.2 原理0.3 结果0.4 意义1. ATAC-seq数据分析流程1.1 上游分析(1)序列质控和比对(2)序列筛选1.2 下游分析1.3 进阶分析 0. ATAC-seq原理 0.1 染色体结构 0.2 原理 0.3 结果 0.4 意义 1. ATAC-seq数据分析流程 1.1 上游分析 (1)序列质控和比对 fastqc trim_golare bowtie2 mapping时要加上参数 --very-sensitive -X 2000

weixin_57830892的博客 1万+

解决nginx stream无法使用问题

【代码】解决nginx stream无法使用问题。

weixin_44269614的博客 6281

【强化学习】常用算法之一 “A3C”

A3C(Asynchronous Advantage Actor-Critic)算法是一种在强化学习领域中应用广泛的算法,它结合了策略梯度方法和价值函数的学习,用于近似解决马尔可夫决策过程(Markov Decision Process)问题。A3C算法在近年来备受关注,因为它在处理大规模连续动作空间和高维状态空间方面具有出色的性能。A3C算法是一种基于策略梯度的强化学习算法,通过多个并行的智能体异步地与环境交互,并利用Actor和Critic网络实现策略和价值的近似,从而实现快速而稳定的强化学习训练。

Code_and516的博客 6756

SAP LSMW保姆级操作文档

SAP LSMW(Legacy System Migration Workbench)是一个强大的工具,旨在简化旧系统数据向SAP系统的迁移过程。它允许用户通过多种方式导入数据,包括直接输入、批处理输入和BAPI。LSMW支持数据映射和转换,确保数据在迁移过程中保持一致性,减少手动输入的需求,从而提高效率,适用于新系统实施和数据更新项目。在日常运维过程中我们经常会遇到用户要求我们批量改一写数据,通常这些字段的信息有些SAP是提供程序可以批量进行更改的比如主数据的MM17、通用更改数据的MASS。

我小时候很黑的博客 4929

/usr/lib64/nginx/modules/ngx_stream_module.so: undefined symbol: SSL_CTX_set_options

系统是centos 7问题是加入stream出现问题。

极客编程的专栏 4834

Vue - 在纯 HTML 普通项目中实现组件化,让原生 html 项目支持引入 *.vue 组件 / 组件与组件间的互相引用等,完美解决了引入组件出现的跨域问题(保姆级详细教程,完整示例源码及插件)

html中使用vue组件,在HTML页面中引入vue组件,HTML界面利用http-vue-loader.js以组件方式引入vue文件,使用http-vue-loader引入组件出现报错,在html页面使用http-vue-loader插件引入组件报跨域错误,如何解决http-vue-loader引用组件时出现跨域问题,纯html原生web项目引入vue后如何实现组件引入,使用http-vue-loader插件控制台报错跨域,http-vue-loader跨域怎么办官方文档,html页面如何引入.vu

🏆 前端领域优质创作者 3906

Nginx配置正向代理支持HTTP和HTTPS转发

文章目录Nginx配置正向代理支持HTTP和HTTPS转发安装编译环境和工具安装Nginx和ngx_http_proxy_connect_module模块修改Nginx配置文件启动Nginx查看端口打开防火墙测试代理 Nginx配置正向代理支持HTTP和HTTPS转发 Nginx本身不支持HTTPS代理,需要安装ngx_http_proxy_connect_module插件后才可以支持HTTPS代...

锐意工作室 1万+

HQChart实战教程49-点击修改K线颜色及背景色

HQChart实战教程49-点击修改K线颜色及背景色需求效果图步骤1. 注册点击监听事件2. 修改K颜色添加一个自定义颜色的K线klineoption清空所有自定义颜色的K线option交流QQ群: 950092318HQChart代码地址完整例子 需求 对点击的K线修改颜色。 效果图 步骤 1. 注册点击监听事件 事件ID JSCHART_EVENT_ID.ON_CLICK_CHART_PAINT, 注册监听事件见教程 HQChart使用教程5- K线图控件操作函数说明 this.Create=func

小银 2911

YOLO26改进105:全网首发--使用BiFPN改进特征金字塔网络

YOLOv6 v3.0在目标检测领域实现重大突破,通过改进网络架构和训练方案显著提升性能。该版本在COCO数据集上展现出优越表现:YOLOv6-N达到37.5% AP/1187 FPS,YOLOv6-S实现45.0% AP/484 FPS,均超越同类检测器。大模型YOLOv6-M/L分别达到50.0%/52.8% AP,L6版本更创下实时检测新纪录。关键技术包括RepVGGBlock、BiFusion等新型模块,通过多分支融合和高效重参数化设计提升性能。研究团队已验证各改进模块有效性,代码已开源。

AIcurator的博客 95

nginx配置将http请求转发支持ssl双向认证https请求的正向代理

一、引言 nginx 是否支持将http请求转发为https支持ssl双向认证,网上没什么用例可以参考,查询各大开发运维社区了下有几种说法 支持:不支持:不清楚家祭不忘告乃翁: https://www.bjornjohansen.no/redirect-to-https-with-nginx N多种方法,按照以上支持的小伙伴的说法,一种种去尝试(虽然发现各种不合理,完全没有

w1500952556的博客 1500

《QGIS快速入门与应用基础》079:KML/KMZ格式:Google Earth兼容

KML/KMZ是专为地理可视化设计的空间数据格式,原生兼容Google Earth,支持点线面要素标注与多媒体集成。KML为XML文本格式,KMZ是其压缩版本。该格式优势在于可视化表现力强、跨平台共享便捷,适合地理标注、路线分享等场景,但存在属性支持弱、大数据量处理效率低等局限。QGIS中可便捷加载和导出KML/KMZ数据,需注意编码设为UTF-8、勾选"导出样式"以保留可视化效果。建议中小规模标注数据使用KMZ格式,确保关联资源完整,提升共享效率。

LuckyHanMo的博客 767

四、nginx正向代理

指的是通过,再由来流量结构图如下:好处:这样做的好处是,当通过访问时,获得的是的IP,这样可以达到的效果。

黑日里不灭的light 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

CentOs7 给nginx安装ngx_http_proxy_connect_module模块,配置正向代理支持https

先安装git yum install git 然后再下载这个插件项目 git clone https://gitee.com/web_design_of_web_frontend/ngx_http_proxy_connect_module.git 记住这个下载路径后面需要用到,我的是 ‘/home/ngx_http_proxy_connect_module’ 然后下载nginx,一般大家之前都已经安装过了。推荐重新安装,nginx-1.19以下版本。 wget http://nginx.o

anwebDesigner的博客 7779

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

墨鸦的博客 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Nginx之正向代理与反向代理进阶(支持https)

Nginx之正向代理与反向代理进阶(支持https)

StoNENee的博客 1万+

nginx 正向代理支持http,https

系统版本: centos7.5 nginx版本: nginx-1.17.3 openssl: openssl-1.0.2h pcre: pcre-8.3.6 安装yum yum install -y sipcalc gcc gcc-c++ zlib-devel pcre-devel libtool 安装 openssl tar zxvf openssl-1.0.2h.tar.gz 安装pre tar zxvf pcre-8.3.6.tar.gz cd pcre-8.3.6 ./c.

明日网络的博客 539

linux 搭建 nginx正向代理

3.2 下载正向代理模块(这个模块可能不适合其他版本nginx) 如果下载失败可用百度云: 链接: 提取码:下载解压nginx PS: 编译,除正向代理模块外,其他看自己需求安装 PS: 3.4 nginx.conf 配置正向代理 3.5 启动nginx 检查配置文件 启动、停止、重载命令 查看端口 四、验证 4.1 202 上面配置正向代理 4.2 对比 202 和 203 分别访问 https 和http ##########################################

qq_39677803的博客 4962

(二)nginx正向代理https

原文章地址:https://www.cnblogs.com/zhaobin-diray/p/10861195.html 使用nginx作为http/https正向代理 默认nginx是不支持https的正向代理的,要想通过nginx的正向代理,作为https服务器,需要增加一个模块并重新编译nginx。 环境: centos 7 所需要的文件: #https://github.com/chobits/ngx_http_proxy_connect_module #http://nginx.org/packag

小渣渣 3230

Nginx正向代理配置

Nginx正向代理配置

KwokRoot的博客 4361

搭建Nginx正向代理服务器,轻松实现外部网络请求的转发

以上的配置只能访问80 端口的网站,而不能访问https443端口的网站,现在的网站基本上都是https的要解决技能访问http80端口也能访问https443端口的网站,需要置两个SERVER节点,一个处理HTTP转发,另一个处理HTTPS转发,而客户端都通过HTTP来访问代理,通过访问代理不同的端口,来区分HTTP和HTTPS请求。这个模块用于增强Nginx,使其支持HTTP CONNECT方法,从而能够作为正向代理处理SSL/TLS连接,尤其是对HTTPS流量的代理。修改nginx的主配置文件。

HongKong_Python的博客 3167

nginx正向代理

一、nginx正向代理,配置方式如下  server{         resolver 114.114.114.114;             #本地DNS               listen 8888;          location / {#正向代理                 proxy_pass $scheme://$http_host$request_uri;

习惯的力量 4549

使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南

本文介绍了如何使用 Nginx 搭建正向代理服务器,支持 HTTP 和 HTTPS 网站代理,并提供了详细的代码和配置示例。通过本文的学习,您可以掌握搭建正向代理的基础知识,并能在实际项目中应用。代理服务器是一种非常强大的工具,能够帮助我们隐藏客户端信息、绕过 IP 限制等。合理的配置和优化可以提升代理服务器的性能,从而满足实际应用中的需求。

2501_92289558的博客 1149
上一篇: mysql解决死锁
下一篇: PDF文件内容读取
hellokitty136
博客等级 码龄9年 46粉丝 24原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值