当前位置: 首页 > news >正文

准确-NGINX 1.26.2配置正向代理并编译安装的完整过程

NGINX 1.26.2 配置正向代理并编译安装的完整过程,使用了 ngx_http_proxy_connect_module 模块。


1. 环境准备

1.1 安装依赖

确保系统安装了以下必要的依赖:

sudo yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel
1.2 下载 NGINX 源码

从 NGINX 官方下载指定版本(1.26.2)的源码:

wget http://nginx.org/download/nginx-1.26.2.tar.gz

解压源码:

tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
1.3 下载 ngx_http_proxy_connect_module 模块

下载模块源码:

wget https://codeload.github.com/chobits/ngx_http_proxy_connect_module/tar.gz/refs/tags/ngx_http_proxy_connect_module-0.0.7.tar.gz

解压模块:

tar -zxvf ngx_http_proxy_connect_module-0.0.7.tar.gz

2. 编译安装 NGINX

2.1 应用模块的补丁

进入 NGINX 源码目录,并应用模块提供的补丁文件:

patch -p1 < ../ngx_http_proxy_connect_module-0.0.7/patch/proxy_connect_rewrite_1018.patch
2.2 配置编译参数

配置编译参数,添加模块路径和相关选项:

./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-http_realip_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --add-module=../ngx_http_proxy_connect_module-0.0.7
2.3 编译安装

执行以下命令进行编译和安装:

make
sudo make install

3. 配置正向代理功能

3.1 编辑 NGINX 配置文件

打开 NGINX 配置文件 /etc/nginx/nginx.conf

sudo vim /etc/nginx/nginx.conf

http 块中添加正向代理配置:

server {listen 8888;  # 监听代理端口server_name localhost;  # 服务器名称resolver 114.114.114.114 ipv6=off;  # DNS 解析器设置proxy_connect;  # 启用正向代理模块proxy_connect_allow 443 80;  # 允许代理的端口proxy_connect_connect_timeout 10s;  # 连接超时proxy_connect_read_timeout 10s;  # 读取超时location / {proxy_pass $scheme://$http_host$request_uri;  # 转发请求到目标地址}
}

3.2 创建必要的缓存目录(可选)

确保缓存目录存在,并设置正确的权限:

sudo mkdir -p /var/cache/nginx/client_temp
sudo chown -R nobody:nobody /var/cache/nginx
sudo chmod -R 755 /var/cache/nginx

3.3 测试并启动 NGINX
测试配置

检查 NGINX 配置文件的语法是否正确:

sudo /usr/sbin/nginx -t
启动 NGINX

启动 NGINX:

sudo /usr/sbin/nginx

如果 NGINX 已经在运行,重新加载配置:

sudo /usr/sbin/nginx -s reload

4. 验证正向代理功能

4.1 设置代理

在客户端(如浏览器或命令行工具)设置代理服务器地址为:

http://<NGINX服务器IP>:8888
4.2 测试代理连接

使用 curl 验证正向代理是否生效:

curl -x http://<NGINX服务器IP>:8888 http://www.example.com
4.3 查看日志
  • 访问日志/var/log/nginx/access.log
  • 错误日志/var/log/nginx/error.log

5. 常见问题

5.1 代理连接失败
  • 检查防火墙是否阻止了端口 8888

    sudo firewall-cmd --add-port=8888/tcp --permanent
    sudo firewall-cmd --reload
    
5.2 模块未生效
  • 确保在编译时正确加载了 ngx_http_proxy_connect_module 模块,并启用了 proxy_connect 指令。
5.3 权限问题
  • 确保 NGINX 运行用户(如 nobody)对 /var/cache/nginx 目录具有读写权限。

相关文章:

准确-NGINX 1.26.2配置正向代理并编译安装的完整过程

NGINX 1.26.2 配置正向代理并编译安装的完整过程&#xff0c;使用了 ngx_http_proxy_connect_module 模块。 1. 环境准备 1.1 安装依赖 确保系统安装了以下必要的依赖&#xff1a; sudo yum install -y gcc gcc-c make pcre-devel zlib-devel openssl-devel1.2 下载 NGINX 源…...

企业如何将ERP和BPM项目结合提升核心竞争力

无论是实施ERP项目还是BPM项目&#xff0c;企业变革的根本目的的确是为了让企业变得更加强大&#xff0c;更具竞争力。 这就像是练武功&#xff0c;无论是学习少林拳还是太极拳&#xff0c;最终的目标都是为了强身健体&#xff0c;提升战斗力。 如何将ERP和BPM项目有效结合以及…...

Linux内核以太网驱动分析

1.网络接口卡接收和发送数据在Linux内核中的处理流程如下&#xff1a; 1. 网络接口卡&#xff08;Network Interface Card, NIC&#xff09; 作用&#xff1a;负责物理层的数据传输&#xff0c;将数据包从网络介质&#xff08;如以太网线&#xff09;读取到内存中&#xff0c;或…...

分布式微服务系统架构第92集:智能健康监测设备Java开发方案

加群联系作者vx&#xff1a;xiaoda0423 仓库地址&#xff1a;https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn 嗯&#xff0c;用户需要为血压、血糖、尿酸和血酮测试仪编写产品描述&#xff0c;同时涉及Java开发。首先&#xff0c;我得确定他们的需求是什么。可…...

【推荐项目】023-游泳俱乐部管理系统

023 游泳俱乐部管理系统 游泳俱乐部管理系统概述 前端技术框架&#xff1a; 我们优雅地采用了Vue.js作为游泳俱乐部管理系统的前端基础框架。Vue.js以其轻盈、高效和易于上手的特点&#xff0c;为我们的用户界面带来了极致的流畅性和响应速度。通过Vue.js&#xff0c;我们为…...

Webpack常见配置实例

webpack实例 打包构建流程对应的常见配置 1. mode: development​2. entry: ./src/index.js​3. output​4. module.rules​5. Loader​6. Plugin​7. devServerwebpack.config.js​ webpack常见配置实例 配置详解​ ​ mode: ‘development’:​ 设置 Webpack 运行模式&am…...

C++核心编程之STL

STL初识&#xff1a;从零开始的奇幻冒险 1 STL的诞生&#xff1a;一场代码复用的革命 很久很久以前&#xff0c;在编程的世界里&#xff0c;开发者们每天都在重复造轮子。无论是数据结构还是算法&#xff0c;每个人都得从头开始写&#xff0c;仿佛在无尽的沙漠中寻找绿洲。直到…...

Mac mini M4安装nvm 和node

先要安装Homebrew&#xff08;如果尚未安装&#xff09;。在终端中输入以下命令&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 根据提示操作完成Homebrew的安装。 安装nvm。在终端中输入以下命令&#xf…...

Level DB --- 写流程架构

Level DB是高效的k-v数据库&#xff0c;接受多线程写&#xff0c;既要保证多线程写临界区安全&#xff0c;同时又要保证写流程的尽量高效性。 写入数据 Level DB 用一个deque用来衔接生产-消费模型。一个新的kv写入请求&#xff0c;会先将kv封装成Writer结构体。插入之前要先…...

【中等】707.设计链表

题目描述 你可以选择使用单链表或者双链表&#xff0c;设计并实现自己的链表。 单链表中的节点应该具备两个属性&#xff1a;val 和 next 。val 是当前节点的值&#xff0c;next 是指向下一个节点的指针/引用。 如果是双向链表&#xff0c;则还需要属性 prev 以指示链表中的…...

深入理解Reactor Flux的生成方法

在Reactor框架中&#xff0c;Flux 是一个非常重要的概念&#xff0c;它用于表示一个可以产生多个事件的响应式流。通过 Flux 提供的多种生成方法&#xff0c;我们可以灵活地创建各种类型的流。本文将详细介绍 Flux.generate 方法的使用&#xff0c;并通过实例帮助读者更好地理解…...

next实现原理

Next.js 是一个基于 React 的 服务器端渲染&#xff08;SSR&#xff09; 和 静态生成&#xff08;SSG&#xff09; 框架&#xff0c;它的实现原理涉及多个关键技术点&#xff0c;包括 服务端渲染&#xff08;SSR&#xff09;、静态生成&#xff08;SSG&#xff09;、客户端渲染…...

LeetCode 热题 100 53. 最大子数组和

LeetCode 热题 100 | 53. 最大子数组和 大家好&#xff0c;今天我们来解决一道经典的算法题——最大子数组和。这道题在 LeetCode 上被标记为中等难度&#xff0c;要求我们找出一个具有最大和的连续子数组&#xff0c;并返回其最大和。下面我将详细讲解解题思路&#xff0c;并…...

DeepSeek 与大数据治理:AI 赋能数据管理的未来

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 1. 引言 在当今数字化时代&#xff0c;数据已成为企业和机构的重要资产&#xff0c;而大数据治理&#xff08;Big Data Governan…...

【时时三省】(C语言基础)浮点型数据

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 浮点型数据 浮点型数据是用来表示具有小数点的实数的&#xff0c;为什么在C中把实数称为浮点数呢?在C语言中&#xff0c;实数是以指数正式存放在在储单元中的。一个实数表示为指数可以有不…...

【大模型】Ollama本地部署DeepSeek大模型:打造专属AI助手

【大模型】Ollama本地部署DeepSeek大模型&#xff1a;打造专属AI助手 Ollama本地部署DeepSeek大模型&#xff1a;打造专属AI助手一、Ollama简介二、硬件需求三、部署步骤1. 下载并安装Ollama&#xff08;1&#xff09;访问Ollama官网&#xff08;2&#xff09;安装Ollama 2. 配…...

2025.3.2机器学习笔记:PINN文献阅读

2025.3.2周报 一、文献阅读题目信息摘要Abstract创新点网络架构实验结论不足以及展望 一、文献阅读 题目信息 题目&#xff1a; Physics-Informed Neural Networks of the Saint-Venant Equations for Downscaling a Large-Scale River Model期刊&#xff1a; Water Resource…...

数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价

数据连接 data.gov.sg 2024 年 12 月 28 日起生效的新加坡地铁票价 该数据集包含 MRT 和 LRT 票价的信息&#xff0c;包括&#xff1a; 票价类型&#xff08;Fare Type&#xff09;&#xff1a;成人票、学生票、老年人票、残障人士票等。适用时间&#xff08;Applicable Tim…...

如何修改安全帽/反光衣检测AI边缘计算智能分析网关V4的IP地址?

TSINGSEE青犀推出的智能分析网关V4&#xff0c;是一款集成了BM1684芯片的高性能AI边缘计算智能硬件。其内置的高性能8核ARM A53处理器&#xff0c;主频可高达2.3GHz&#xff0c;INT8峰值算力更是达到了惊人的17.6Tops。此外&#xff0c;该硬件还预装了近40种AI算法模型&#xf…...

Java 大视界 -- 基于 Java 的大数据分布式缓存一致性维护策略解析(109)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...