nginx web代理

server/2024/10/19 1:10:17/

目录

nginx%E7%9A%84%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D-toc" style="margin-left:0px;">1.nginx的简单介绍

2.正向代理的应用场景

2.1做访问控制 

2.2审计 

2.3负载分散

2.4隐私保护和匿名性

3.反向代理的应用场景如下 

3.1.负载均衡

2.缓存静态内容

3.压缩和优化内容

4.提供故障转移

5.安全性和匿名性

4.正向代理 

4.1web端

4.2lb01代理服务器配置 

5.反向代理


nginx%E7%9A%84%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D">1.nginx的简单介绍


nginx代理分为正向代理和反向代理 

正向代理就是将代理的web页面通过代理服务器直接访问到 

而反向代理 负载均衡 一般是一个代理服务器后面都有其他几台服务器 每次访问都会呈现不同的内容 

2.正向代理的应用场景

2.1做访问控制 


例如公司或者学校对职工和学生做访问控制 避免访问到不良网站 
 

2.2审计 

代理服务器上过滤掉不合适的网站和信息 

2.3负载分散

在多个服务器之间分配客户端请求,以平衡负载并提高可用性
 

2.4隐私保护和匿名性

用户可以通过正向代理隐藏自己的 IP 地址,保护自己的隐私,防止被跟踪


 

3.反向代理的应用场景如下 

3.1.负载均衡

反向代理可以在多个服务器之间分发请求,平衡负载,提高网站或应用的性能和可靠性。

2.缓存静态内容

反向代理可以缓存静态内容(如图片、CSS、JavaScript 文件),减少后端服务器的负载

3.压缩和优化内容

反向代理可以对内容进行压缩,优化图片和代码,以加快内容的加载速度

4.提供故障转移

如果后端服务器发生故障,反向代理可以将流量重定向到健康的服务器,提高系统的可用性。

5.安全性和匿名性

反向代理可以隐藏后端服务器的细节,为服务器提供额外的安全层,防止直接暴露给互联网。

4.正向代理 


环境概述 

 

角色主机名ip
代理lb01 10.0.0.8
webweb0110.0.0.7 


域名 proxy.oldboylinux.cn 
站点目录 /app/code/proxy 
 

4.1web端

创建目录 
 

mkdir -p /app/code/proxy/


创建索引文件 并写入内容 

 

vim /app/code/proxy/index.html 10.0.0.8  proxy.oldboylinux.cn.conf


创建配置文件 写入配置 
 

server {listen 80;server_name proxy.oldboylinux.cn;root /app/code/proxy; error_log /var/log/nginx/proxy_error.log  notice;access_log /var/log/nginx/proxy_error.log   main;location / {index index.html;
}}

重载服务 
systemctl relaod nginx
 

4.2lb01代理服务器配置 



书写配置 

server {listen 80;server_name proxy.oldboylinux.cn;root /app/code/proxy; error_log /var/log/nginx/proxy_error.log  notice;access_log /var/log/nginx/proxy_error.log   main;location / {proxy_pass http://10.0.0.7:80 ;proxy_set_header Host $http_host;
}}


nginx -t 检查 


重载服务 
systemctl relaod nginx

在lb端进行测试 


curl 0:80
10.0.0.8 proxy.oldboylinux.cn web01
 

是这个结果说明配置无误 





 

5.反向代理

需要两台web端的机器 配置内容格式 如下
 

server {listen 80;server_name proxy.oldboylinux.cn;root /app/code/proxy; error_log /var/log/nginx/proxy_error.log  notice;access_log /var/log/nginx/proxy_error.log   main;location / {index index.html;
}}


只需要改变index索引文件的内容 

随后再nginx代理机器上写入如下配置 
 

upstream cfg_pools {server 10.0.0.7:80;server 10.0.0.8:80;
}server {listen 80;server_name cfg.oldboylinux.cn;error_log /var/log/nginx/cfg-error.log notice;access_log /var/log/nginx/cfg-access.log main;location / {proxy_pass http://cfg_pools;proxy_set_header Host $http_host;proxy_set_header X-Real-Ip $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}



最后测试出来效果是curl两次出现的是两个结果 一个是web01index.html中的 另一个是web02 index,html中的

 


http://www.ppmy.cn/server/132907.html

相关文章

强化学习三

监督学习只是构建一个学习算法,强化学习还需要构造一个用于与智能体进行交互的环境 凡是可以提供智能体与环境交互的软件都可以用来作为训练强化学习的仿真环境,各种游戏软件和机器人仿真软件。 这些仿真环境必备的两个要素是物理引擎和图像引擎。物理引…

PE结构之导入表

流程图: 文件中\样式 加载到进程中时 加载到进程中时的过程,一张图不够放 续图 整个流程 补充导入表结构IMAGE_IMPORT_DESCRIPTOR 中的ForwarderChain字段, 该解释为 "某个导入模块涉及转发(即该模块的某些函数从其他模块转发过来),那么…

git的下载安装完整教程

一、下载 官网下载地址:Git - Downloads (git-scm.com) 二、安装 1.双击 2.按照安装向导next

问:JVM当中的垃圾分类怎么搞?

在Java中,JVM(Java虚拟机)的垃圾识别与分类是自动内存管理的重要组成部分。这一过程主要通过垃圾收集器(Garbage Collector)实现,旨在识别和回收不再被程序引用的对象,以释放内存空间。 1. 垃圾…

JNI(Java Native Interface)和NIO(New Input/Output)是什么?

1. JNI(Java Native Interface) JNI是一种接口,允许Java代码与其他编程语言(例如C或C)编写的本地代码进行交互。通过JNI,Java程序可以调用本地代码中的函数或库,反过来,本地代码也可…

C++多款质量游戏及开发建议[OIER建议]

前言 其实C不适合开发大型高质量游戏。 但是,很多人信息学竞赛生(博主)为了竞赛都学习了C,但自小就认为编程就是开发游戏的我们,肯定想着开发一个游戏,但发现C的局限性以及无法和windows非常好的兼容&…

【从零开始的LeetCode-算法】945. 使数组唯一的最小增量

给你一个整数数组 nums 。每次 move 操作将会选择任意一个满足 0 < i < nums.length 的下标 i&#xff0c;并将 nums[i] 递增 1。 返回使 nums 中的每个值都变成唯一的所需要的最少操作次数。 生成的测试用例保证答案在 32 位整数范围内。 示例 1&#xff1a; 输入&am…

react antd redux 全局状态管理 解决修改菜单状态 同步刷新左侧菜单

npm i react-redux1.src新建两个文件 globalState.js 全局状态定义 store.js 全局存储定义 2.globalState.js import { createSlice } from "reduxjs/toolkit";export const globalState createSlice({name: "globalState",initialState: { data: {} },r…