nginx 设置匿名http正向代理

2023-11-12

这两天在研究nginx的正向代理,想通过nginx搭建一个http代理服务器,网站找到了这篇文章(http://www.cnblogs.com/inteliot/archive/2013/01/11/2855907.html):

配置 Nginx Http Proxy 代理服务器,与 [Squid] 功能一样,适用于正向代理 Http 网站。

一,Nginx 正向代理配置文件:

[html]  view plain  copy
  1. server {  
  2.     resolver 8.8.8.8;  
  3.     resolver_timeout 5s;  
  4.    
  5.     listen 0.0.0.0:8080;  
  6.    
  7.     access_log  /home/reistlin/logs/proxy.access.log;  
  8.     error_log   /home/reistlin/logs/proxy.error.log;  
  9.    
  10.     location / {  
  11.         proxy_pass $scheme://$host$request_uri;  
  12.         proxy_set_header Host $http_host;  
  13.    
  14.         proxy_buffers 256 4k;  
  15.         proxy_max_temp_file_size 0;  
  16.    
  17.         proxy_connect_timeout 30;  
  18.    
  19.         proxy_cache_valid 200 302 10m;  
  20.         proxy_cache_valid 301 1h;  
  21.         proxy_cache_valid any 1m;  
  22. #allow 127.0.0.1;  
  23. #deny all;  
  24. }  
  25. }  


[text]  view plain  copy
  1. <span style="font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:16px">二,Nginx 正向代理配置说明:</span>  

1,配置 DNS 解析 IP 地址,比如 Google Public DNS,以及超时时间(5秒)。

[text]  view plain  copy
  1. resolver 8.8.8.8;  
  2. resolver_timeout 5s;  

2,配置正向代理参数,均是由 Nginx 变量组成。其中 proxy_set_header 部分的配置,是为了解决如果 URL 中带 "."(点)后 Nginx 503 错误。

[text]  view plain  copy
  1. proxy_pass $scheme://$host$request_uri;  
  2. proxy_set_header Host $http_host;  

3,配置缓存大小,关闭磁盘缓存读写减少I/O,以及代理连接超时时间。

[text]  view plain  copy
  1. proxy_buffers 256 4k;  
  2. proxy_max_temp_file_size 0;  
  3. proxy_connect_timeout 30;  

4,配置代理服务器 Http 状态缓存时间。

[text]  view plain  copy
  1. proxy_cache_valid 200 302 10m;  
  2. proxy_cache_valid 301 1h;  
  3. proxy_cache_valid any 1m;  

三,不支持代理 Https 网站

因为 Nginx 不支持 CONNECT,所以无法正向代理 Https 网站(网上银行,Gmail)。
如果访问 Https 网站,比如:https://www.google.com,Nginx access.log 日志如下:

[text]  view plain  copy
  1. "CONNECT www.google.com:443 HTTP/1.1" 400  

作者写的很棒,不过,我在配置过程中,遇到问题,就是通过配置的代理访问页面都报404(我的nginx版本:1.2),后来我发现需要改下proxy_pass:

[text]  view plain  copy
  1. proxy_pass $scheme://$host$request_uri;  
改成:

[text]  view plain  copy
  1. proxy_pass $scheme://$http_host$request_uri;  

这样就可以了,另外我加上了ip的限制,大家有需要可以将上面的注释打开就行:

[html]  view plain  copy
  1. allow 127.0.0.1;  
  2. deny all;  

经验证,上面的代码是可以用的。服务器端得到的代码如下,不过不知道怎么会带了一个proxy-connection,这估计只能算是普通匿名,不能算是高级匿名:

[html]  view plain  copy
  1. head info:{content-type=application/x-www-form-urlencoded; charset=UTF-8, connection=close,  content-length=42user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36, proxy-connection=Keep-Alive}  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx 设置匿名http正向代理 的相关文章

  • 使用 Flask 代理到另一个 Web 服务

    我想将对 Flask 应用程序发出的请求代理到计算机上本地运行的另一个 Web 服务 我宁愿使用 Flask 而不是更高级别的 nginx 实例 这样我们就可以重用应用程序中内置的现有身份验证系统 我们越能保持这种 单点登录 越好 是否有现
  • 使用 apt-get install nginx 后重新编译 nginx

    我最初是通过 apt get install 安装 nginx 的 它工作得很好 现在 我想安装一些第 3 方模块 并且必须重新编译 nginx 所以我尝试重新编译 它只是走过场 然后我意识到我的原始版本仍然是正在使用的版本 我是否需要先卸
  • 无法通过 AKS 上的 Azure 流量管理器和 Nginx Ingress 访问服务

    我在两个不同的区域有两个 AKS 集群作为主要集群和辅助集群 我想使用 Azure 流量管理器在主集群和辅助集群上进行基于优先级的端点监控和故障转移机制 我有两个服务 A 和 B 它们在相对路径上路由 服务 a and 服务 b分别 我在每
  • 如何在 OpenShift 上安装 Nginx

    虽然我跟着https blog openshift com lightweight http serving using nginx on openshift https blog openshift com lightweight htt
  • Nginx:从不同的根目录和位置提供 JPG 图像

    我有 3 个不同的存储区域 头像 文章 趋势 用于存储我的图像 我想将 URL trends 123 jpg 链接 到趋势文件夹 avatars 23 jpg 链接 到头像等 配置一 server listen 8089 server na
  • 如何在Python中在后台运行长时间运行的作业

    我有一个运行长时间运行的作业 大约几个小时 的网络服务 我正在使用 Flask Gunicorn 和 nginx 来开发它 我想做的是让需要很长时间才能完成的路线 调用创建线程的函数 然后 该函数将向路由返回一个 guid 并且路由将返回一
  • 使用 nginx 代理时在 RStudio 中运行闪亮的应用程序

    我正在尝试使用通过 nginx 代理的 RStudio 服务器来开发一个闪亮的应用程序 当我使用 RStudio 而不是服务器 来运行闪亮的应用程序时 一切正常 但是 当我通过代理 RStudio 运行时 该应用程序出现在 查看器 窗格中
  • nginx工作进程如何共享“监听套接字”

    This http aosabook org en nginx html http aosabook org en nginx html说 工作进程接受来自共享 监听 套接字的新请求 并在每个进程内执行高效的运行循环 我查看了代码 但不明白
  • airflow webserver 命令失败并显示 {filesystemcache.py:224} 错误 - 不允许操作

    我正在 Cent OS 7 上安装 Airflow 我已经配置了 Airflow db init 并检查了 nginx 服务器的状态及其工作正常 但是当我运行airflow webserver命令时 我收到下面提到的错误 2021 03 2
  • nginx 将虚拟目录重写为文件

    这应该很容易做到 但我的头撞在墙上了 如果我收到对 www mysite com mypath 的请求 我想提供 www mysite com myotherpath thisfile html 的内容 我如何使用 nginx 配置来做到这
  • Nginx反向代理(proxy_pass)不传递子文件夹

    我想在子文件夹配置中运行应用程序 Mattermost 例如 https www example com mattermost https www example com mattermost location mattermost gzi
  • `uwsgi_modifier1 30` 指令没有按照记录从 PATH_INFO 中删除 SCRIPT_NAME

    这是我的 nginx 虚拟主机配置 debian cat etc nginx sites enabled mybox server listen 8080 root www index index html index htm server
  • Nginx 正在向 uWSGI 发出非常旧的请求?

    我看到一种奇怪的情况 Nginx 或 uwsgi 似乎正在建立一个很长的传入请求队列 并在客户端连接超时后很长时间内尝试处理它们 我想理解并停止这种行为 以下是更多信息 My Setup 我的服务器使用 Nginx 通过 Unix 文件套接
  • nginx - 记录 SSL 握手失败

    我正在运行启用了 SSL 的 nginx 服务器 我的协议 密码设置相当安全 我已经在 ssllabs com 上检查过它们 但是 因为这是一个由我无法控制的 http 客户端调用的 Web 服务 所以我担心兼容性 重点是 有没有办法在我的
  • Nginx 背后的多个 Meteor 站点

    这个问题与this https stackoverflow com questions 10936242 how can i correct the meteor base url in a nginx reverse proxy conf
  • 如果我在不打算升级到 websocket 连接的 HTTP 请求中包含“Upgrade”和“Connection”标头,会发生什么情况?

    我有一个 Nginx 服务器块 用于代理对 node js 服务器的请求 该服务器同时提供 HTTP 内容和 WS websocket 内容 是否可以在不应升级到 Websocket 连接的请求上添加升级标头 即使用 Nginx 代理到服务
  • kubernetes 集群中 django 应用程序的 Nginx 配置

    我在为部署在 kubernetes 中的 django 应用程序创建 nginx 配置文件时遇到困难 Nginx 和 app 是同一集群中的两个独立容器 据我了解 容器可以通过 127 0 0 1 XX 和主机名相互通信 我为此使用 min
  • Nginx - 自定义 404 页面

    Nginx PHP 在 fastCGI 上 对我来说非常有用 当我输入不存在的 PHP 文件的路径时 我不会得到默认的 404 错误页面 任何无效的 html 文件都会出现该错误页面 而只会得到 未指定输入文件 如何自定义此 404 错误页
  • 使用 Nginx 或 Apache 来提供动态内容? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • nginx 匹配位置中的特定单词

    我在匹配 nginx request body 变量中的特定单词时遇到问题 如果正文请求中有特殊单词 我想代理传递 所以我的方法是这样的 location php if request body proxy pass http test p

随机推荐

  • Ablation Study消融研究

    作者 飘哥 链接 https www zhihu com question 291655038 answer 683038545 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 术语 消融研究 通常用于神经网
  • Python解释器验证器工具类

    需求背景 现需要实现一个工具类 功能为验证给定路径是否为有效的 Python 解释器可执行文件 不一定是主程序所使用的解释器 并获取该解释器版本信息 是否安装某模块 包等信息 该工具类将赋予主程序类似 PyCharm 中选取 Python
  • C#的架构、框架、设计模式

    建立层务必使用类库选项 不要使用文件夹 没错 说的就是我自己 一 两层架构 1 架构概述 两层架构适合小型 中小型项目 名称 标识 用途 数据访问对象 DAL 模型服务 需要添加Models引用 实体对象 Models 模型 用户界面 UI
  • SpringMVC @RequestBody 自动转json Http415错误

    项目中想用 RequestBody直接接收json串转成对象 网上查了使用方法 看着非常简单 不过经过测试很快发现页面直接报415错误 h1 HTTP Status 415 h1 hr size 1 p b type b Status re
  • React的几种路由配置方法

    1 标签 常用 import IndexRoute from react router const Dashboard React createClass render return div Welcome to the app div R
  • python内置array模块,与numpy中的array和list之间的转换

    numpy中matrix类型与array类型的转换 如何让 M matrix 1 2 3 4 如何转变为 array 1 2 3 4 比较优雅的办法 x matrix arange 12 reshape 3 4 gt gt gt x mat
  • 全国计算机等级考试题库二级C操作题100套(第76套)

    第76套 给定程序中 函数fun的功能是 计算下式前n项的和作为函数值返回 例如 当形参n的值为10时 函数返回 0 204491 请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结 果 注意 源程序存放在考生文件夹下的BL
  • 使用Fiddler修改请求参数

    1 下载比较新版的Fiddler 2 进入到调试的页面 并填写好参数 以获取短信验证码接口为例 3 先清空Fiddler列表中已经存在的请求 以便观察 4 打开断点调试 下面两种方式都可以 F11是快捷键 按F11 键盘快捷键 或者如下图勾
  • Qt在嵌入式系统QNX的HMI应用方案

    author 锋影 扣扣 174176320 e mail 174176320 qq com 黑莓推出了其全新的黑莓10平台QT的智能手机和平板电脑 它产生了大量的兴趣在QT上移动 黑莓10是基于QNX1操作系统的黑莓 也许不是很出名 是Q
  • lightGBM 调参

    文章目录 1 概述 1 lgb cv函数使用方法 1 参数 2 param需要填写的参数 2 GridSearchCV调参 第一步 学习率和迭代次数 第二步 确定max depth和num leave 第三步 确定min data in l
  • Mac配置与下载安卓SDK,配置adb命令

    所以如果想要单独下载SDK 参考如下步骤 文章目录 配置步骤 1 首先需要安装java的JDK 2 解压上面下载好的文件 3 补充SDK内容 4 配置环境变量 5 测试adb命令 其他信息 配置步骤 1 首先需要安装java的JDK 首先登
  • Linux查看磁盘空间

    如何查看磁盘空间 1 查看内存空间 dever iZ2zeewvm4yos65shrzg3wZ free total used free shared buff cache available Mem 7724300 1528996 300
  • vue项目的webpack打包优化

    前言 我第一次从搭建项目环境 到打包准备上线测试 vue对开发者来说学习成本不高 带来了很多的便利 没有经过如何优化 直接打包出来 打开页面时就看到无尽的加载中 啥 是网络不好了 等了半分钟时间页面终于出现了 我第一次打包 所以百度做功课
  • Xilinx IP核手册阅读——FIFO

    目录 Introduction Ch 1 Overview Feature Summary Native FIFO Interface Signals Applications Native FIFO Applications Ch 2 P
  • 笔记本电脑销量排名_2020最佳笔记本电脑品牌公布!华硕第一,戴尔惠普分列二三名_搜狐汽车...

    本文车型速览 除了文章作者的主观观点外 我们正尝试基于全网可查的客观数据 为您提供中立 客观的参考依据 本文部分车型速览 展开 微信扫码 直接一次看完附近所有城市低价 附近城市均有经销商可售卖至本市 2020最佳笔记本电脑品牌公布 华硕第一
  • Java实现http请求访问的实现和处理DefaultHttpClient过期和URL连接格式问题

    Java实现http请求代码 String strUrl http 172 0 0 1 80 api Notifiction sendForbidden userId dhdhsh data shshh try 增加代码下面两行代码解决UR
  • 计算机网络默认网关怎么看,默认网关怎么查看 查看电脑默认网关的方法介绍...

    本机默认网关是什么 默认网关怎么查看 有时我们需要对电脑进行相关设置 此时就要知道默认网关 那么 怎么查看电脑默认网关呢 下面我们就一起去了解一下 默认网关是什么 一个用于 TCP IP 协议的配置项 是一个可直接到达的 IP 路由器的 I
  • STM32控制舵机讲解,从入门到放弃。

    STM32控制舵机 文章目录 STM32控制舵机 前言 一 PWM PWM是什么 如何实现PWM信号输出 二 舵机 什么是舵机 控制原理 参考代码 前言 我们这里拿STM32F103C8T6作为我们的芯片 通过PB9端口输出PWM 实现控制
  • Html5 & C++混和编程

    https github com BlzFans wke
  • nginx 设置匿名http正向代理

    这两天在研究nginx的正向代理 想通过nginx搭建一个http代理服务器 网站找到了这篇文章 http www cnblogs com inteliot archive 2013 01 11 2855907 html 配置 Nginx