搭建Nginx正向代理服务

需求背景:

前段时间公司因为业务需求需要部署一个正向代理,需要内网服务通过正向代理访问到外网移动端厂商域名通道等效果,之前一直用nginx做四层或者七层的反向代理,正向代理还是第一次配置,配置的过程也遇到些小坑,今天就分享出来。

安装环境准备:

nginx本身是不支持https协议请求转发,为了让nginx能达到这一效果需要借助第三方模块ngx_http_proxy_connect_module。首先下载这一模块:https://github.com/chobits/ngx_http_proxy_connect_module到服务器,然后准备nginx环境

yum -y install pcre-devel zlib-devel gcc gcc+c++ make openssl-devel pcre-devel  zlib-devel patch
tar xf nginx-1.6.0.tar.gz
unzip /root/ngx_http_proxy_connect_module-master.zip
cd  /root/nginx-1.6.0/
patch  -p1 < /root/ngx_http_proxy_connect_module-master/proxy_connect.patch
./configure --add-module=/root/ngx_http_proxy_connect_module-master/ngx_http_proxy_connect_module
make &&  make install

编译安装成功后,配置nginx正向代理:

bash;gutter:true;</p> <h1>user nobody;</h1> <p>worker_processes 1;</p> <h1>error_log logs/error.log;</h1> <h1>error_log logs/error.log notice;</h1> <h1>error_log logs/error.log info;</h1> <h1>pid logs/nginx.pid;</h1> <p>events { worker_connections 1024; }</p> <p>http { include mime.types; default_type application/octet-stream; #access_log logs/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on;</p> <p>server { listen 88; #监听端口 resolver 183.60.82.98; #dns解析地址 server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass https://$host$request_uri; #设定http代理服务器的协议和地址 proxy_set_header HOST $host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502; #root html; #index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }</p> <pre><code>} </code></pre> <p>server { resolver 8.8.8.8; #dns解析地址 listen 89; #代理监听端口 proxy_connect; proxy_connect_allow 443 563; location / { proxy_pass https://$host$request_uri; #设定https代理服务器的协议和地址 proxy_set_header HOST $host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502;</p> <pre><code> } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } </code></pre> <p>}</p> <pre><code> 当配置文件配置好之后保存即可,重启nginx,进行测试: 去内网服务器里curl,可以在环境变量里添加代理: ;gutter:true;
vim /etc/profile

#export https_proxy=正向代理IP:端口
export https_proxy=192.168.3.17:89

搭建Nginx正向代理服务

另一种 方式不用加环境变量,临时代理

bash;gutter:true;</p> <h1>curl -i --proxy 代理IP:端口 要访问域名</h1> <p>curl -i --proxy 192.168.3.17:89 www.baidu.com

Original: https://www.cnblogs.com/Dfengshuo/p/11911406.html
Author: fs_Dong
Title: 搭建Nginx正向代理服务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585729/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 让SpringBoot也用上Fluent Validator

    前言 在使用SpringBoot的时候经常需要对客户端传入的参数进行合法性的校验,校验的方法基本上都是使用SpringBoot提供的注解,有时候遇上注解不能满足需求的时候还需要在业…

    Linux 2023年6月14日
    096
  • 什么是草台班子?

    有个朋友最近想跳槽,他对管理的兴趣不大,而且认为自己的性格也不适合做管理,更想成为技术专家。基于这些考虑,他希望能进入知名大厂,如果面试不顺利,去小而美公司也行。他的面试经验不多,…

    Linux 2023年6月6日
    0116
  • 个人学习记录-Cpp基础-成员初始化列表

    https://blog.csdn.net/XIONGXING_xx/article/details/115553291https://blog.csdn.net/W_Y2010/…

    Linux 2023年6月6日
    098
  • IDM 下载器的安装和使用

    下载安装 为大家提供免注册版本:IDM下载器 – Dominic 的蓝奏云分享 下载解压之后,双击第一个文件进行安装 之后一路选择”Next”即…

    Linux 2023年6月8日
    0154
  • 内存管理-物理内存虚拟内存布局

    ARM-linux环境,物理内存和虚拟内存之间的映射关系: Original: https://www.cnblogs.com/fanguang/p/11930358.htmlAu…

    Linux 2023年6月6日
    099
  • SpringBoot 多环境配置文件切换

    背景 很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用…

    Linux 2023年6月14日
    0146
  • idea 运行 tyarn 命令提示系统禁止运行脚本

    无法加载文件D:……….(报错信息。。。),因为在此系统上禁止运行脚本,有关详细信息,请参阅 https:/go.microsoft.com/f…

    Linux 2023年6月13日
    094
  • 分布式运算中,高精度校时器的畅想

    这是我写的,带有一定的娱乐性质的文章。你可以把它理解为神经病的yy。昨天,我看了个帖子《Facebook工程师开发开源自计时设备 仅需一个PCIe插槽即可工作》,有感而发写了此文。…

    Linux 2023年6月14日
    099
  • Linux——配置主从数据库服务

    主从数据库 Linux中,数据库服务有三种:互为主主,互为主从,一主一从(主从数据库) 服务名 mariadb 协议名 mysql 进程名称 mysqld 端口号 3306 一、改…

    Linux 2023年5月27日
    0115
  • WEB自动化-06-命令行运行Cypress

    6 命令行运行Cypress Cypress命令行的运行基本语法格式如下所示: cypress <command> [options] command代表运行的命令,是…

    Linux 2023年6月7日
    0127
  • Python 内置logging 使用详细讲

    logging 的主要作用 提供日志记录的接口和众多处理模块,供用户存储各种格式的日志,帮助调试程序或者记录程序运行过程中的输出信息。 logging 日志等级 logging 日…

    Linux 2023年6月7日
    083
  • linux命令之tar 解压 压缩

    tar(全称:tape archive )命令用于备份文件。tar 是用来 创建或者 还原备份文件的工具程序,它可以加入,解开备份文件内的文件。tar linux说明 tar [&…

    Linux 2023年5月27日
    084
  • Linux 0.11源码阅读笔记-总览

    Linux 0.11源码阅读笔记-总览 阅读源码的目的 加深对Linux操作系统的了解,了解Linux操作系统基本架构,熟悉进程管理、内存管理等主要模块知识。 通过阅读教复杂的代码…

    Linux 2023年5月27日
    0117
  • Linux用户和用户组

    Linux用户和用户组 1.添加新的用户 (用户ID从500开始,0-99系统管理级别、100-499系统预留) useradd 选项 用户名 参数说明 选项: -c commen…

    Linux 2023年6月11日
    0102
  • 那些技术实战中的架构设计方法

    上个月我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论”以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章…

    Linux 2023年6月8日
    090
  • 没学习的恐惧

    已经三个月没有接触新知识,每次上线之后就有一些bug,觉得自己作为一个点点点的测试很失败。我很迷茫,我都不知道自己一天是如何过的,反正就觉得时间过的很快,而且发现什么事都没做一天就…

    Linux 2023年6月8日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球