Nginx 代理配置

        最近,工作中遇到需要用到 Nginx 实现正向web代理反向web代理的需求,其中反向web代理需要支持发送HTTP 和 HTTPS请求

1. 正向代理

1.1. 正向代理 流程 

下面以访问百度为例解释正向代理过程:

  • 客户将浏览器代理地址设置为代理服务器地址和服务端口;
  • nginx 代理服务器配置代理服务;
  • 客户通过浏览器的请求,都会先到达nginx服务器,在通过nginx 服务器转发到真实服务器;

 1.2. 正向代理 配置

user root;
worker processes auto;
pid /tmp/nginx.pid;
error_log /tmp/error.log;
events {
fworker_connections 50000;
}
http {
access log off;
default_type application/octet-stream;
sendfile on;
keepalive timeout 65;
server{
client_max_body size 102400m;
resolver_timeout 20s;
listen 监听地址:监听端口;
proxy_connect;
proxy_connect allow all;
include /usr/local/nginx/conf/httproxy.conf;
}
}

2. 反向代理

 2.1. 反向代理 流程

        反向代理不需要修改浏览器代理地址,而是直接访问nginx提供的服务地址,所以需要在nginx 服务器上提前配置和代理的真实服务器地址,下面配置以百度为例。

 2.2. 反向代理 配置

user root;
worker processes auto;
pid /tmp/nginx.pid;
error_log /tmp/error.log;
events {
fworker_connections 50000;
}
http {
access log off;
default_type application/octet-stream;
sendfile on;
keepalive timeout 65;
server{
client_max_body size 102400m;
resolver_timeout 20s;
listen 监听地址:监听端口;
proxy_connect;
proxy_connect allow all;
location /{
proxy_pass https://www.baidu.com;
}
}
}

2.3. 反向代理 HTTPS 配置

user root;
worker processes auto;
pid /tmp/nginx.pid;
error_log /tmp/error.log;
events {
fworker_connections 50000;
}
http {
access log off;
default_type application/octet-stream;
sendfile on;
keepalive timeout 65;
server{
client_max_body size 102400m;
resolver_timeout 20s;
listen 监听地址:监听端口 ssl;
ssl_session_timeout 5m;
ssl_session_tickets on;
ssl_session_cache shared:SSL:5m;
ssl_certificate 证书文件路径;
ssl_certificate_key 密钥文件路径;
ssl_crefer_server_ciphers on;
ssl_protocols TLSv1.2;
ssl_ciphers ECD+AESGCM:ECDH+AES256:!ECD+AES128:!DH+3DES:!3DES:!ADH:!AECDH:!MD5;
location /{
proxy_pass https://www.baidu.com;
}
}
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

入门产品经理你一定要知道的事(上)

产品(Product)是任何可以让人注意、获取、使用、或能够满足某种消费需求的东西。可以是实体产品、服务、人、组织、地点、思想等。 狭义上产品特指互联网产品,是关于软件、硬件的集合体。本期文章所说的产品是指互联网产品。 产品经理&#…

Spring Boot中JUnit 4与JUnit 5的如何共存

文章目录 前言一、先上答案二、稍微深入了解2.1 maven-surefire-plugin是什么2.2 JUnit4和JUnit5有什么区别2.2.1 不同的注解2.2.2 架构 前言 在maven项目中,生成单测时是否有这样的疑问:该选JUnit4还是JUnit5?在执行 mvn test 命令时有没有…

跳表:高效索引的神奇算法

跳表(Skip List)的设计思想基于二叉查找树和链表,它采用了一种多层次的思路,通过随机化的方式在每个节点添加多个后继节点,从而实现快速查找 跳表是一种数据结构,它以一种分层的方式来存储数据,…

百面算法工程师 | 分类和聚类

目录 6.1 为什么正确率有时不能有效评估分类算法? 6.2 什么样的分类器最好? 6.3 什么是聚类,你知道哪些聚类算法? 6.4 K-Means聚类算法如何调优? 6.5 K-Means聚类算法如何选择初始点? 6.6 K-Means聚类聚的是特征还是样本 …

一文掌握:数据湖是什么?可不是数据仓库

一、什么是数据湖 数据湖(Data Lake)是指一个大型数据存储和处理系统,它能够存储各种类型和格式的数据,包括结构化数据、半结构化数据和非结构化数据。数据湖的目的是为了让企业可以更好地管理和利用大量的数据,以便进…

Email API的安全性如何保障?API发信技巧?

Email API有哪些主要功能?如何选择邮箱API进行集成? Email API在企业和个人用户之间发挥着举足轻重的作用。然而,随着Email API的广泛应用,其安全性问题也逐渐凸显出来。那么,Email API的安全性究竟如何保障呢&#x…

基于 Grassmannian Manifold的动态图嵌入学习的脑网络时空枢纽识别

Spatiotemporal Hub Identification in Brain Network by Learning Dynamic Graph Embedding on Grassmannian Manifold 摘要 神经成像技术的进步使得测量不同大脑区域之间的连接随时间演变成为可能。新出现的证据表明,一些关键的大脑区域,称为枢纽节点…

adb工具使用

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…

社会工程渗透测试教程(二)

原文:annas-archive.org/md5/db987a87e1478b8a8617c263c631b477 译者:飞龙 协议:CC BY-NC-SA 4.0 第六章:通过有效的威胁建模确保价值 Richard Ackroyd,随机风暴有限公司高级安全工程师 大多数客户意识到他们需要社会…

20.Unity飞机大战游戏

1任务:使背景图动起来 2任务:飞机换帧动画 3任务:让飞机发射子弹 4任务:敌机出现 5任务:控制飞机 6任务:游戏碰撞逻辑 7任务:另外两种类型的敌机 8任务:拾取奖励物品换枪 9…

RK3568 学习笔记 : u-boot 通过 tftp 网络更新 u-boot自身

前言 开发板型号: 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件,解决 u-boot 下千兆网卡设备能识别但是无法 Pi…

vulfocus靶场名称: apache-cve_2021_41773/apache-cve_2021_42013

Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控…

JAVA学习笔记30(线程)

1.线程 1.线程的概念 1.线程是由进程创建的,是进程的一个实体 2.一个进程可以拥有多个线程 2.并发 ​ *同一时刻,多个任务交替执行,造成一种"貌似同时"的错觉,单核cpu实现的多任务就是并发 3.并行 ​ *同一时刻&…

电商平台业务及架构演变史

不少人认为电商系统很简单,因为现在做电商的太多了,看到的电商产品也多。看来看去产品都差不多,没什么特别。 其实中国电商发展已有20多年历史,电商以销售为核心连接着研、产、供、销、服整套的信息系统体系。其中的设计并没有那…

Mongodb支持事务吗?

一、概念 1.1、MongoDB事务简介 MongoDB 是一个非关系型数据库管理系统,最初并不支持事务。然而,随着时间的推移,MongoDB 在其4.0版本中引入了多文档事务支持,使得在单个集合中执行多个操作成为可能。 In MongoDB, an operation…

【MySQL探索之旅】多表查询

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

CCF PTA 2023年5月C++富有的大壮

【问题描述】 给在一个神秘的国度,有一种多拿多得的疯狂游戏,某日大壮去参赛,在规定区域内里面有 N(N≤100) 堆金币,第i堆金币的总重量和总价值分别是mi,vi(1≤ mi,vi≤100)。大壮有一个承重量为T(T≤1000) 的背包,但…

Mac下XDebug安装

文章目录 1、下载对应的版本2、编译XDebug3、配置XDebug4、配置PhpStormDebug一下 前置工作 Mac下安装HomebrewMac下brew安装php7.4 1、下载对应的版本 首先按照支持的版本和兼容性来下载对应的版本,此表列出了仍支持哪些 Xdebug 版本,以及哪些版本可用…

vue框架中的组件通信

vue框架中的组件通信 一.组件通信关系二.父子通信1.props 校验2.prop & data、单向数据流 二.非父子通信-event bus 事件总线三.非父子通信 (拓展) - provide & inject四.v-model简化父子通信代码五. .sync修饰符 一.组件通信关系 组件关系分类: 1.父子关系…

2024接口自动化测试高频面试题【建议收藏】

一、json和字典的区别? json就是一个文本、字符串;有固定的格式,格式长的像python字典和列表的组合;以key-value的键值对形式来保存数据,结构清晰,。可以说是目前互联网项目开发中最常用的一种数据交互格式…