Nginx第3篇-使用ngx_http_proxy_connect_module配置https正向代理

场景

我使用python爬虫,然后需要个代理,所以就用Nginx搭了一个代理服务器。对Nginx也不太熟,慢慢摸索,搭建完之后发现只能代理http的请求,无法穿透https。几经折腾和摸索发现一个强大的HTTP代理模块:ngx_http_proxy_connect_module

ngx_http_proxy_connect_module介绍

项目地址:https://github.com/chobits/ngx_http_proxy_connect_module
ngx_http_proxy_connect_module是Nginx的一个扩展模块,主要功能是在Nginx服务器上开启对CONNECT方法的支持。在HTTP协议中,CONNECT方法主要用于建立隧道,常见于WebSocket连接和HTTPS的中间人代理。通过该模块,你可以将Nginx作为HTTP/HTTPS代理服务器,甚至可以直接用作WebSocket服务器。

安装配置

选择对应的版本

在这里插入图片描述

安装

$ wget http://nginx.org/download/nginx-1.9.2.tar.gz
$ tar -xzvf nginx-1.9.2.tar.gz
$ cd nginx-1.9.2/
$ patch -p1 < /path/to/ngx_http_proxy_connect_module/patch/proxy_connect.patch
$ ./configure --add-module=/path/to/ngx_http_proxy_connect_module
$ make && make install

配置

server {listen                         3128 ssl;# self signed certificate generated via openssl commandssl_certificate_key            /path/to/server.key;ssl_certificate                /path/to/server.crt;ssl_session_cache              shared:SSL:1m;# dns resolver used by forward proxyingresolver                       8.8.8.8;# forward proxy for CONNECT requestproxy_connect;proxy_connect_allow            443 563;proxy_connect_connect_timeout  10s;proxy_connect_data_timeout     10s;# defined by yourself for non-CONNECT request# Example: reverse proxy for non-CONNECT requestslocation / {proxy_pass http://$host;proxy_set_header Host $host;}
}

实际案例:

#正向代理
server{resolver 114.114.114.114;resolver_timeout 30s;listen 843;proxy_connect;                          #启用 CONNECT HTTP方法proxy_connect_allow            443 563;  #指定代理CONNECT方法可以连接的端口号或范围的列表proxy_connect_connect_timeout  20s;     #定义客户端与代理服务器建立连接的超时时间proxy_connect_read_timeout     20s;     #定义客户端从代理服务器读取响应的超时时间proxy_connect_send_timeout     20s;     #设置客户端将请求传输到代理服务器的超时时间location / {proxy_pass http://$host;proxy_set_header Host $host;}
}

效果

执行这个命令查看效果

curl https://github.com/ -v -x 127.0.0.1:3128

在这里插入图片描述

在python中使用

default_proxy = {'http': 'http://43.123.42.139:843','https': 'http://43.123.42.139:843'
}
# 这样就可以使用了
requests.get('https://www.baidu.com/', proxies=proxy)

参考文章:

推荐一个强大的HTTP代理模块:ngx_http_proxy_connect_module
深入理解ngx_http_proxy_connect_module模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置静态IP【windows+ubuntu】

Windows配置静态IP 如下图所示&#xff0c;通过“网络和Internet进入设置界面”&#xff0c;依次操作“更改适配器选项”->选择要配置静态ip的网络“属性”->选择IPV4的属性->配置静态ip的地址、子网掩码、默认网关。默认网关应和路由器上的设置保持一致。 Ubuntu配…

SL7220线性降压恒流3.6A 外围只需两个电阻 耐压40V汽车大灯IC

概述&#xff1a; SL7220 是一款双路线性降压LED恒流驱动器&#xff0c;外围只需两个电阻&#xff0c;输出电流10MA-3600MA。 SL7220 内置过热保护功能&#xff0c;内置输入过压保护功能。 SL7220 静态电流典型值为120uA。 特点 ●输入电压范围&#xff1a;2.5V-40V ●电…

Matlab方程组拟合【案例源码+视频教程】

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法&#xff0c;并提供所有案例完整源码&#xff1b;2.…

OpenHarmony轻量系统开发【6】驱动之ADC按键

摘要&#xff1a;本文简单介绍如何操作ADC去读取电压&#xff0c;并且实现开发板上3个ADC按键检测的功能 适合群体&#xff1a;适用于润和Hi3861开发板&#xff0c;L0轻量系统驱动开发 文中所有代码仓库&#xff1a;https://gitee.com/qidiyun/hihope-3861-smart-home-kit 6…

如何识别伪装IP的网络攻击

伪装IP的网络攻击是一种通过篡改或伪造IP地址&#xff0c;冒充合法用户或服务器&#xff0c;发起恶意网络请求的攻击方式。这种攻击具有极强的隐蔽性&#xff0c;使得受害者在遭受攻击后难以找到真实的攻击者。为了识别伪装IP的网络攻击&#xff0c;我们可以采取以下几种方法&a…

SpringBoot中使用Jackson序列化返回

SpringBoot中使用Jackson序列化返回 在Spring Boot应用中&#xff0c;使用Jackson库来处理JSON的序列化和反序列化是一种常见的做法。Jackson是一个高效的JSON处理器&#xff0c;广泛用于Java环境中&#xff0c;尤其是在与Spring框架集成时。本文将详细介绍如何在Spring Boot中…

ubuntu18.04安装F4PGA教程

环境搭建教程&#xff1a; f4pga-arch-defs/xilinx/xc7 at main f4pga/f4pga-arch-defs GitHub git clone https://github.com/SymbiFlow/f4pga-arch-defs.git cd f4pga-arch-defs make env cd build 主要是make env&#xff0c;会下载很多东西&#xff0c;然后生成很多描…

数据结构·一篇搞定顺序表!

大家好啊&#xff0c;几日不见&#xff0c;甚是想念&#xff0c;从这一篇文章开始&#xff0c;我们就要进入数据结构了哦&#xff0c;那么我们废话不多说&#xff0c;今天我们一起来搞定顺序表&#xff01;&#xff01;&#xff01; 1. 顺序表概念及结构 顺序表是一种线性结…

VBA脚本终章编译器崩溃

一、介绍 本篇文章为VBA脚本隐藏技术的最后一篇&#xff0c;将介绍如何在保证VBA脚本正常执行的情况下&#xff0c;使分析人员无法打开编译器。 那么为什么需要分析人员无法打开编译器呢&#xff1f; 首先&#xff0c;我们需要引入一个知识点。 在上篇《VBA隐藏技术stompin…

系统思考—战略

“有策略而无战术&#xff0c;是取胜之最慢之道。有战术而无策略&#xff0c;是败亡之前的嘈杂。”—孙子 最近接触的中小企业&#xff0c;充分能感受到在经济下行的情况下&#xff0c;组织与战略是不可分割的两个方面。有时候公司组织出现了问题&#xff0c;可能是因为战略不…

maven3.9的settings.xml 内容学习

settings.xml 文件介绍 settings.xml 是 Maven 的配置文件&#xff0c;它允许你自定义 Maven 的行为&#xff0c;比如设置仓库、代理、认证信息等。在 Maven 3.9 中&#xff0c;settings.xml 的结构和内容可能与之前的版本相似&#xff0c;但可能会有一些小的改进或变化。下面…

单分支:if语句

示例&#xff1a; /*** brief how about if? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h>#define if_state…

MoJoCo 入门教程(七)XML 参考

系列文章目录 前言 表格第二列中的符号含义如下&#xff1a; ! 必填元素&#xff0c;只能出现一次 ? 可选元素&#xff0c;只能出现一次 * 可选元素&#xff0c;可多次出现 R 可选元素&#xff0c;可递归出现多次 一、简介 本章是 MuJoCo 中使用的 MJCF 建模语言的参考手册。…

【投稿优惠|稳定检索】2024年低碳发展与地球科学国际会议 (LCDES 2024)

2024年低碳发展与地球科学国际会议 (LCDES 2024) 2024 International Conference on Low Carbon Development and Earth Science 【会议简介】 2024年低碳发展与地球科学国际会议即将在长沙盛大召开。本次会议将汇聚全球低碳发展与地球科学领域的专家学者&#xff0c;共同探讨…

登录解析(前端)

登录代码 1、登录之后做了什么&#xff1f; 执行登陆方法&#xff0c;成功之后&#xff0c;路由跳转到指定路径或者根目录 2、this.$store.dispatch是什么意思&#xff1f; this.$store.dispatch(‘Login’, this.loginForm) 来调取store里的user.js的login方法3、this.$r…

将MySQL数据库导入到EA模型的教程

将MySQL数据库导入到EA 1.下载安装mysql-connector-odbc2.在管理工具中新增ODBC数据源3.在EA中新建项目4.链接MYSQL数据源4.1 安装64位的ODBC驱动可能出现”在连接ODBC 时发生错误&#xff0c;请相关检查设置“的提示&#xff0c;卸载后重新安装32位ODBC驱动后可以正常执行 5.导…

智慧园区引领产业智能化升级:科技创新驱动打造智慧化、高效化产业新未来

随着全球科技革命的深入推进&#xff0c;以大数据、云计算、物联网、人工智能等为代表的新一代信息技术正深刻改变着传统产业的发展模式。在这一背景下&#xff0c;智慧园区作为产业智能化升级的重要载体和平台&#xff0c;正以其前瞻性的规划、创新的科技和卓越的实践&#xf…

OpenCV杂记(2):图像拼接(hconcat, vconcat)

OpenCV杂记&#xff08;1&#xff09;&#xff1a;绘制OSD&#xff08;cv::getTextSize, cv::putText&#xff09;https://blog.csdn.net/tecsai/article/details/137872058 1. 简述 做图像处理或计算机视觉技术的同学都知道&#xff0c;我们在工作中会经常遇到需要将两幅图像拼…

IntelliJ-platform plugIn 插件开发专题内容介绍,学习指导(一)

这系列文章出炉对于笔者来说确实不容易&#xff0c;历时快两年了&#xff0c;先后迭代了3版本&#xff0c;暂时与官方最新版本API同步&#xff08;2024.03&#xff09;&#xff0c;文章内容覆盖2022~2024版内容 专题由来 最早接触插件开发是源于公司一个国际化项目&#xff0c…

以pytorch pipeline并行为例,分析各kernel的耗时占比及性能瓶颈

以pytorch pipeline并行为例,分析各kernel的耗时占比及性能瓶颈 1.生成pipeline并行的测试代码2.pipeline profing3.生成nsys2json.py代码4.将nsys sqlite格式转chrome json格式5.生成耗时成分统计代码6.统计耗时成分7.耗时成分如下:8.查看GPU PCIE链路状态9.链路状态如下10.Ns…