Centos7使用Nginx配置HTTPS正向代理

这篇具有很好参考价值的文章主要介绍了Centos7使用Nginx配置HTTPS正向代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Centos7使用Nginx配置HTTPS正向代理

Nginx默认安装只支持代理HTTP, 不支持代理 HTTPS, 如果需要支持HTTPS需要在Nginx编译时加入 ngx_http_proxy_connect_module.

文件准备

  1. 从 ngx_http_proxy_connect_module 模块仓库下载源代码压缩包, 并确定支持的 Nginx 版本
    • 仓库地址: https://github.com/chobits/ngx_http_proxy_connect_module/
    • 得到文件: ngx_http_proxy_connect_module-master.zip
    • 当前支持的 Nginx 最高版本为 1.25.x
  2. 从 Nginx 官网下载对应版本的源代码压缩包
    • 下载列表: http://nginx.org/download/
    • 得到文件: nginx-1.25.5.tar.gz

环境准备

需要一台能访问目标网络的服务器, 并新安装 Centos7 环境

更新各模块安装包

sudo yum update

安装编译Nginx需要的工具

sudo yum install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel patch unzip

编译 Nginx

在同一目录下解压 Nginx 和 ngx_http_proxy_connect_module.

tar -xzvf nginx-1.25.5.tar.gz
unzip ngx_http_proxy_connect_module-master.zip

应用补丁, Nginx 版本1.25.5 对应的补丁文件是 proxy_connect_rewrite_102101.patch, 如果是其它版本, 请参照 https://github.com/chobits/ngx_http_proxy_connect_module/ 上的说明确认对应的补丁文件

cd nginx-1.25.5
patch -p1 --verbose < ../ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch

配置编译环境, 如果配置过程中报错, 需要排查并解决错误

./configure --add-module=../ngx_http_proxy_connect_module-master

编译

make

安装

sudo make install

Nginx 会被默认安装到 /usr/local/nginx 目录

配置 Nginx

编辑 /usr/local/nginx/conf/nginx.conf, 在 http { } 内增加一个新的 server 配置, 内容如下

其中:

  • listen 3128; 是代理的端口, 可以换成其它端口
  • server_name 192.168.9.160; 是代理服务器自身IP, 需要换成你的环境中服务器的IP
  • resolver 114.114.114.114; 是代理服务器使用的DNS服务器, 需要换成你的环境下可用的DNS服务器地址
  • 其他配置不需要修改
    server {
        listen       3128;
        server_name  192.168.9.160;
        resolver     114.114.114.114;

        # forward proxy for CONNECT requests
        proxy_connect;
        proxy_connect_allow            443 563;
        proxy_connect_connect_timeout  10s;
        proxy_connect_data_timeout     10s;

        # Example: reverse proxy for non-CONNECT requests
        location / {
            proxy_pass http://$host;
            proxy_set_header Host $host;
        }
    }

检查配置格式是否正确, 如果有错误信息, 需要先排查问题

sudo /usr/local/nginx/sbin/nginx -t

启动Nginx服务

sudo /usr/local/nginx/sbin/nginx

打开防火墙端口

如果服务器开启了 firewalld 等防火墙服务, 需要打开上面设置的代理端口, 允许其它机器访问

检验

首先打开 Nginx 日志

tail -f /usr/loca/nginx/logs/access.log

在另一台服务器上, 使用 curl 工具进行测试, 下面的命令中需要将192.168.9.160:3128换成自己环境下配置的代理服务器IP和端口

curl https://twitter.com/ -v -x 192.168.9.160:3128

如果代理工作正常, 如果输出如下结果, 则表示配置成功文章来源地址https://www.toymoban.com/news/detail-858559.html

* About to connect() to proxy 192.168.9.160 port 3128 (#0)
*   Trying 192.168.9.160...
* Connected to 192.168.9.160 (192.168.9.160) port 3128 (#0)
* Establish HTTP proxy tunnel to twitter.com:443
> CONNECT twitter.com:443 HTTP/1.1
> Host: twitter.com:443
> User-Agent: curl/7.29.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection Established
< Proxy-agent: nginx
<
* Proxy replied OK to CONNECT request
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
...
< HTTP/1.1 200 OK
< Date: Wed, 13 Mar 2024 08:16:22 GMT
...

到了这里,关于Centos7使用Nginx配置HTTPS正向代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Nginx】使用自生成证书配置nginx代理https

    使用Nginx代理HTTPS请求并使用自签名证书,可以按照以下步骤进行配置: 生成自签名证书: 打开终端或命令提示符,并导航到Nginx配置文件所在的目录。 运行以下命令生成自签名证书和私钥: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt 根据提示输入证书的相

    2024年01月18日
    浏览(50)
  • Centos7笔记09之nginx反向代理grafana

    使用nginx反向代理访问grafana服务 本例测试用的域名(假的):                  x179.com 本例原本能正常访问的grafana地址:   192.168.10.90:3000 准备用nginx反代grafana后的地址:      http://x179.com/grafana/ 1、修改配置 ● 修改 [server] 区域    ○ 修改 ;domain = localhost  改为 domain

    2024年01月25日
    浏览(42)
  • (十)centos7案例实战——实现nginx代理访问redis服务

    本节内容是关于实现nginx代理访问redis服务,由于在实际生产开发环境中,我们并不想将我们的中间键服务暴露在公网环境中,或者只能在内网环境中使用,例如本节内容,我们将redis安装到本地环境,但是又有需要临时在公网环境查看我们的redis数据,那该如何解决这个问题

    2023年04月13日
    浏览(36)
  • 基于centos7.9通过nginx实现负载均衡以及反向代理

    摘要:负载均衡: 负载均衡是一种技术,用于在多个服务器之间分发传入的网络流量,以平衡服务器的负载,提高系统的可用性和性能。当您有多台服务器时,您可以使用负载均衡将请求分发到这些服务器上,从而防止单个服务器过载而影响用户体验。 反向代理: 反向代理

    2024年02月13日
    浏览(31)
  • Nginx 正向代理和反向代理

    博主介绍 : ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接: 体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收藏关注下 , 不然下次找不到哟 💕💕 Nginx性能高的原因有以下几点: Nginx是一个轻量级的We

    2024年02月08日
    浏览(32)
  • 如何實現Apache HTTPS正向代理?

    Apache是一款開源的、可高度定制的HTTP伺服器軟體, 它位於客戶端和目標伺服器之間,用於從目標伺服器獲取資訊並將其返回給客戶端。它 能 提供各種功能,包括安全性、隱私性和數據壓縮 。其中代理模組能夠支持正向代理和反向代理兩種模式。 而 正向代理也被稱為前端代

    2024年04月13日
    浏览(20)
  • 深度详解Nginx正向代理与反向代理

    它的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我,从网站的角度

    2024年02月11日
    浏览(37)
  • 四、nginx正向代理

    详细文章内容 解释: 正向代理 指的是 客户端 通过 访问目标服务端 ,再由 目标服务端 来 转发 流量 访问互联网 结构图如下: 好处:这样做的好处是,当 客户端 通过 服务端 访问 互联网某个网站 时, 该网站 获得的 IP地址 是 服务端 的IP,这样可以达到 隐藏客户端真实

    2023年04月08日
    浏览(29)
  • Nginx 配置 HTTPS 过程(+反向代理)

    nginx配置HTTPS前置条件 我这里参考了一个网友的文章,有兴趣可以直达:手把手教你Nginx 配置 HTTPS 完整过程_somnus_小凯的博客-CSDN博客_nginx配置https 。 不建议只一端配置https,另一端不配置,因为浏览器会拦截并给你一个白眼: mixed-content 。大意是要你:  前端https页面中不能

    2023年04月08日
    浏览(35)
  • Nginx(一)介绍Nginx、正向代理和实现反向代理的两个实例

    中国Nginx官网:https://www.nginx-cn.net/ GitHub地址:https://github.com/nginxinc/ 客户端想访问tomcat服务器,只需要访问ww.baidu.com。对真实的服务器IP是隐藏的 1、反向代理实例一(反向代理,访问www.123.com) 步骤一:修改主机映射“C:WindowsSystem32driversetchosts” 步骤二:修改Nginx中的配

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包