Nginx正反向代理

需求

为了降低成本并提高效率,考虑对华为云服务器的网络架构进行重构

将原有的十一台云服务器公网IP整合为一台,部署 Nginx 作为公网服务器,并引入负载均衡器来分发流量。

Nginx正向代理

什么是正向代理?

  • 正向代理:指的是通过代理服务器 代理浏览器/客户端去重定向请求访问到目标服务器 的一种代理服务。

  • 正向代理特点:是代理服务器 代理的对象是浏览器/客户端,也就是对于目标服务器 来说浏览器/客户端是隐藏的。

  • 通俗易懂:没有公网IP的服务器要怎么样访问http://baidu.com

正向代理配置

在实现nginx正向代理之前,先说明一下,现在的网站基本上都是https,因此要实现nginx正向代理转发请求,除了要配置转发http80端口的请求,还有配置https443端口的请求~
正向代理转发http请求很简单,不过正向代理转发https请求稍微有一点麻烦,目前网上的教程大多都是如下这样配置的

server {listen 80;resolver 114.114.114.114;server_name localhost;location ^~ /dev {proxy_pass http://xxx.sd-rtn.com;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;}location ^~ /v3 {proxy_pass http://xxx.amap.com;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;}
}

验证正向代理

Linux下验证代理服务器是否能正常代理转发http和https请求

curl http://www.baidu.com/ -v -x 127.0.0.1:80
curl https://www.baidu.com/ -v -x 127.0.0.1:443

结果:成功

[root@nginx conf.d]# curl http://www.baidu.com/ -v -x 127.0.0.1:80
* About to connect() to proxy 127.0.0.1 port 80 (#0)
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET http://www.baidu.com/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.baidu.com
> Accept: */*
> Proxy-Connection: Keep-Alive
> 
< HTTP/1.1 404 Not Found
< Server: nginx/1.24.0
< Date: Wed, 06 Mar 2024 09:33:04 GMT
< Content-Type: text/html
< Content-Length: 153
< Connection: keep-alive
< 
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.24.0</center>
</body>
</html>
* Connection #0 to host 127.0.0.1 left intact

Nginx反向代理

什么是反向代理

  • 反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。

  • 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

  • 总结一句话:帮助客户端找到内部集群中的服务

反向代理配置

server {listen 7002;server_name localhost;location / {# 反向代理真实 IPproxy_pass http://192.168.xxx.xxx:7002;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 禁用缓存proxy_buffering off;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【[STM32]标准库-自定义BootLoader】

[STM32]标准库-自定义BootLoader BootloaderBootloader的实现BOOTloader工程APP工程 Bootloader bootloader其实就是一段启动程序&#xff0c;它在芯片启动的时候最先被执行&#xff0c;可以用来做一些硬件的初始化或者用作固件热更新&#xff0c;当初始化完成之后跳转到对应的…

LeetCode 热题 100 | 图论(二)

目录 1 基础知识 1.1 什么是拓扑排序 1.2 如何进行拓扑排序 1.3 拓扑排序举例 2 207. 课程表 3 210. 课程表 II 菜鸟做题&#xff0c;语言是 C 1 基础知识 1.1 什么是拓扑排序 含义&#xff1a;根据节点之间的依赖关系来生成一个有序的序列。 应用&#xff1a…

12:Logstash|Web日志实时分析

Logstash|Web日志实时分析 logstashlogstash工作结构安装Logstash编写logstash配置文件步骤一:codec类插件插件帮助手册Logstash input插件步骤一:file模块插件filter grok插件Web日志实时分析部署beats与filebeat步骤一:filter grok模块插件logstash 一个数据采集、加工处…

Ubuntu22.04系统 安装cAdvisor提示找不到 CPU 的挂载点错误解决办法。

如果我们在安装cAdvisor时容器启动不起来 查看日志如下图所示 1、查看cgroup文件系统是v2 还是 v1 mount | grep cgroup 如图所示我的是v2 &#xff0c; cAdvisor 目前的最新版本&#xff08;v0.39.0&#xff09;仍然只支持 cgroup v1&#xff0c;不支持 cgroup v2。因此&#…

闫震海:腾讯音乐空间音频技术的发展和应用 | 演讲嘉宾公布

一、3D 音频 3D 音频分论坛将于3月27日同期举办&#xff01; 3D音频技术不仅能够提供更加真实、沉浸的虚拟世界体验&#xff0c;跨越时空的限制&#xff0c;探索未知的世界。同时&#xff0c;提供更加丰富、立体的情感表达和交流方式&#xff0c;让人类能够更加深入地理解彼此&…

Python 批量提取pdf/word中的图片,并生成markdown文档

from sdk.utils.util_class import PathParser from sdk.temp.temp_supports import IsSolution, DM 这些全是自定义的工具包&#xff0c;自己去其他文章下找 # !/usr/bin/python3 # -*- coding:utf-8 -*- """ author: JHC000abcgmail.com file: demo.py time:…

做抖店月入百万还是会亏损?珠珠来告诉你,做抖店水到底有多深?

我是电商珠珠 抖店的热度一直只高不低&#xff0c;所以很多想要做的新手不知道抖店水的深浅&#xff0c;就一股脑的去做了。结果又是被扣保证金&#xff0c;又是被判定无货源违规的&#xff0c;最后灰头土脸的关了店。那些说做了十万十几万的&#xff0c;几百万的难道都是假的…

Windows主机巡检vbs脚本

’ Windows主机巡检脚本 ’ 获取主机名称 Set objNetwork CreateObject(“WScript.Network”) strComputer objNetwork.ComputerName ’ 获取磁盘信息 Set objWMIService GetObject(“winmgmts:\” & strComputer & “\root\cimv2”) Set colDisks objWMISer…

在三个el-form-item中的el-radio的值中取一个发送给后端怎么获取

问: 请问,这段代码怎么获取:无策略,策略1,策略2的值? 回答: 问: 三个里面只可以选中一个吗? 回答:

应对求职高峰:金三银四必备问答与大厂模板,成功职场攻略!

三四月是求职的黄金季节&#xff0c;很多设计师会选择在这个时候准备作品集。一个视觉精美、有条不紊的作品集&#xff0c;无疑是走向大厂的敲门砖。但是我问了一圈优秀社区的朋友&#xff0c;发现大家或多或少都遇到过问题。今天我整理了群里的高频问题&#xff0c;附上了解决…

[GXYCTF2019]BabyUpload1 -- 题目分析与详解

目录 一、题目分析 1、判断题目类型&#xff1a; 2、上传不同类型的文件进行测试&#xff1a; 二、题目详解 1、写出.htaccess文件&#xff1a; 2、.htaccess 文件配合 .jpg 上传&#xff1a; 3、利用 中国蚁剑/中国菜刀 获取flag&#xff1a; 一、题目分析 1、判断题目…

信奥一本通:1082:求小数的某一位

分数转换为小数就是分子除分母&#xff0c;但是他要求指定的n项小数&#xff0c;n大于1小于10000&#xff0c;如果是10000的话就太大了&#xff0c;用传统的方式无法找出指定的位数。 方式就是&#xff1a;例如求2分之1&#xff0c;我们先用除法把具体的值求出来&#xff0c;然…

图机器学习(1)--导论

0 CS224W概况 斯坦福大学CS224W课程&#xff1a;http://cs224w.stanford.edu/ 图机器学习的库&#xff1a; 为什么是图&#xff1f;图是描述和分析具有关系/交互的实体的通用语言。 1 图数据举例 复杂域具有丰富的关系结构&#xff0c;可以表示为关系图。 通过显式地建模关…

【论文阅读】Generative Pretraining from Pixels

Generative Pretraining From Pixels 引用&#xff1a; Chen M, Radford A, Child R, et al. Generative pretraining from pixels[C]//International conference on machine learning. PMLR, 2020: 1691-1703. 论文链接&#xff1a; http://proceedings.mlr.press/v119/chen…

LeetCode --- 三数之和

题目描述 三数之和 代码解析 暴力 在做这一道题的时候&#xff0c;脑海里先想出来的是暴力方法&#xff0c;一次排序&#xff0c;将这个数组变为有序的&#xff0c;再通过三次for循环来寻找满足条件的数字&#xff0c;然后将符合条件的数组与之前符合条件的数组进行一一对比…

2024.3.6补题

1.关鸡 对于这一道题&#xff0c;我们先按照题意进行分析&#xff1a;首先鸡自己的初始位置&#xff0c;如果着火点在鸡一开始的左右下各有一个那么就可以达到题目效果&#xff0c;也就是说不需要添加着火点&#xff0c;同时最多需要添加的着火点其实也就是它初始位置身边所有的…

Optional 详解

Optional 详解 1、Optional 介绍2、创建 Optional 对象3、Optional 常用方法1. 判断值是否存在 — isPresent()2. 非空表达式 — ifPresent()3. 设置(获取)默认值 — orElse()、orElseGet()4. 获取值 — get()5. 过滤值 — filter()6. 转换值 — map() 作为一名 Java 程序员&am…

animation给同一个元素加多个动画

需求&#xff1a; 元素从右向左渐变滑入&#xff0c;然后再上下漂浮 代码实现&#xff1a; animation动画可连写 <style lang"less" scoped>//swipe-item里面所有animate动画延迟时间swipe-animation-delay:500ms;//animate.css动画时长animate-css-duration:…

电子电器架构刷写策略 —— 队列刷写

电子电器架构刷写策略 —— 队列刷写 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

关于rocky linux配置RHEL9在线镜像源

Rocky Linux 简介 Rocky Linux 是一个社区支持的企业级 Linux 发行版&#xff0c;旨在为 CentOS Stream 提供一个稳定、可预测的替代方案。它与 CentOS Linux 兼容&#xff0c;并承诺提供 10 年的支持。Rocky Linux 适用于需要一个稳定、可预测的企业级 Linux 发行版&#xff…