(二)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/packages/centos/7/SRPMS/nginx-1.12.2-1.el7_4.ngx.src.rpm
安装编译工具
#yum install gcc gcc-c++ make -y
#yum install rpm-build rpmdevtools -y
安装依赖
#yum install pcre-devel pcre -y
#yum install zlib-devel zlib -y
#yum install openssl-devel openssl -y
#yum install redhat-lsb-core -y
下载nginx源码、模块源码及rpm构建包
#cd /root
用于支持https代理的模块
#git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
或者直接去页面下载zip文件
下载后上传至/root目录下,并进行解压
#unzip ngx_http_proxy_connect_module-master.zip
rpm构建及nginx源码
#wget http://nginx.org/packages/centos/7/SRPMS/nginx-1.12.2-1.el7_4.ngx.src.rpm
修改nginx的src rpm包,增加ngx_http_proxy_connect_module模块
初始化rpmbuild目录
#cd /root
#rpmdev-setuptree 执行生成目录
#cp /root/nginx-1.12.2-1.el7_4.ngx.src.rpm /root/rpmbuild/SOURCES/
#cd /root/rpmbuild/SOURCES/
#rpm2cpio nginx-1.12.2-1.el7_4.ngx.src.rpm |cpio -dvi
#rm /root/rpmbuild/SOURCES/nginx-1.12.2-1.el7_4.ngx.src.rpm
#tar -xf nginx-1.12.2.tar.gz
#cd /root/rpmbuild/SOURCES/nginx-1.12.2
针对不同nginx版本,需要用不同的path文件,详见该项目github首页
#patch -p1 < /rootngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite.patch
#cd /root/rpmbuild/SOURCES/
#tar -czvf nginx-1.12.2.tar.gz nginx-1.12.2
修改nginx.spec文件,增加模块的编译选项
将nginx.spec中的configure命令中,增加–add-module=/root/ngx_http_proxy_connect_module-master选项。
修改后的命令:
%build
./configure %{BASE_CONFIGURE_ARGS}
–add-module=/root/ngx_http_proxy_connect_module-master
–with-cc-opt="%{WITH_CC_OPT}"
–with-ld-opt="%{WITH_LD_OPT}"
–with-debug
make %{?_smp_mflags}
%{__mv} %{bdir}/objs/nginx
%{bdir}/objs/nginx-debug
./configure %{BASE_CONFIGURE_ARGS}
–add-module=/root/ngx_http_proxy_connect_module-master
–with-cc-opt="%{WITH_CC_OPT}"
–with-ld-opt="%{WITH_LD_OPT}"
make %{?_smp_mflags}
编译rpm包
#rpmbuild -bb nginx.spec
rpm包,在/root/rpmbuild/RPMS路径下。
#cd /root/rpmbuild/RPMS
#rpm -ivh nginx-1.12.2-1.el6.ngx.x86_64.rpm
#rpm -ivh nginx-debuginfo-1.12.2-1.el6.ngx.x86_64.rpm
修改nginx配置文件
基本的http代理,配置文件/etc/nginx/conf.d/default.conf如下。为了适配https,我们需要增加connect语句相关的配置。
简单的http代理,配置文件
server {
resolver 114.114.114.114;
listen 9999;
access_log /var/log/nginx/http_proxy.access.log main;
error_log /var/log/nginx/http_proxy.error.log;
location / {proxy_pass $scheme://$http_host$request_uri;
}
}
#https/http代理配置文件
server {
resolver 114.114.114.114;
listen 9999;
proxy_connect;
proxy_connect_allow 443 563;
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;access_log /var/log/nginx/http_proxy.access.log main;
error_log /var/log/nginx/http_proxy.error.log;location / {proxy_pass $scheme://$http_host$request_uri;
}
}
#nginx -t 检查配置文件是否正确
#启动即可
(二)nginx正向代理https相关推荐
- nginx正向代理https
nginx正向代理https 需求 当出现下述情形时,我们需要使用正向代理: 我们的client不能直接访问到服务器,倒是其他的client可以访问,且我们的client到OtherClient 的网 ...
- nginx 正向代理https配置
1.需求描述 nginx正向代理 如图所示,公司内网为了安全考虑,只提供一台服务器可与外网作为网关,进行访问. 1.服务器A可以访问外网: 2.服务器B,C无法访问外网: 3.服务器ABC之间内网互通 ...
- nginx正向代理http,nginx正向代理https
配置准备 正向代理,指的是通过代理服务器 代理浏览器/客户端去重定向请求访问到目标服务器 的一种代理服务. 正向代理服务的特点是代理服务器 代理的对象是浏览器/客户端,也就是对于目标服务器 来说浏览器 ...
- Nginx正向代理https请求
默认开源版本的nginx是不支持代理https请求的,如果要实现这个功能,需要第三方模块 https://github.com/chobits/ngx_http_proxy_connect_modul ...
- nginx正向代理https,zabbix内网实现企业微信告警
1.首先给nginx添加模块ngx_http_proxy_connect_module模块主要用于隧道SSL请求的代理服务器 模块下载地址: https://github.com/chobits/ng ...
- nginx正向代理转发https出现502
nginx正向代理转发https出现502 现象1 原因1 解决方案1 参考博客1 现象2 原因2 解决方案2 参考博客2 其他原因 现象1 nginx的error日志显示如下(xxx是替换过了真实信 ...
- Linux:Nginx 正向代理实现内网访问互联网
前言: 因为公司的某些系统需要访问互联网上的某些功能,每个系统的服务器都开通访问互联网的能力太麻烦并且不方便管理,所以打算只对一台服务器开通访问互联网的能力,并在此服务器基础上搭建 nginx 正向代 ...
- nginx正向代理的配置和使用
nginx正向代理的配置和使用 nginx正向代理的配置和使用 nginx正向代理的配置和使用 安装包准备 下载nginx安装包 下载正向代理模块的包 版本与模块对照表 部署nginx服务 上传ngi ...
- nginx 正向代理http和https
nginx正向代理默认只支持http,不支持https,需借助第三方模块"ngx_http_proxy_connect_module"来实现(https://github.com/ ...
最新文章
- Nature:大脑佛一点,活得久一点,这是哈佛医学院的最新研究
- python浪漫代码-使用Python代码的程序员也浪漫
- 7.测试hadoop安装成功与否,并跑mapreduce实例
- oracle并行parallel update两张表_Oracle与并行性 parallel
- 诗和远方:无题(四十六)
- 小米蓝牙左右互联_小米真无线蓝牙耳机Air2评测:支持弹窗动画,半入耳设计全面升级...
- VMware vCenter Server 的内部版本号和版本 (2143838)
- 从虚拟主机时代说起,详述Kubernetes带来的变革
- 一个简单的空间配置器
- 基于SharePoint 2010的控制台应用程序常见问题
- ShuffleNet算法详解
- 十二个“一”---十二位胜似亲人的悲情向团体详解
- cnpm : 无法加载文件 C:\Users\zsl\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本
- u大师u盘装系统win7_黑鲨U盘重装win7系统教程
- win10下Google Chrome 打不开网页的解决方案
- 一文教你玩转Mybatis,超详细代码讲解与实战
- CSS list-style属性控制li标签样式
- “不能read和written”的关键因素—内存
- CAD中用lisp程序实现批量偏移_AutoCAD如何批量偏移
- JavaWeb购物车项目二