服务器反向代理

news2024/12/27 11:18:51

反向代理作用

隐藏服务器信息 -> 保证内网的安全,通常将反向代理作为公网访问地址,web服务器是内网,即通过nginx配置外网访问web服务器内网

举例

百度的网址是:http://www.baidu.com ,

现在我通过自己的服务器地址 http://192.168.1.102

来访问到百度的地址

并且访问地址是自己的服务器ip或者域名地址,这时候我们就可以通过Nginx配置反向代理来实现 ~

简单配置

server {

listen 80;

server_name 192.168.1.102;# 服务器地址或绑定域名

location / { # 访问80端口后的所有路径都转发到 proxy_pass 配置的ip中

root /usr/share/nginx/html;

index index.html index.htm;

proxy_pass http://www.baidu.com; # 配置反向代理的ip地址和端口号 【注:url地址需加上http:// 或 https://】

}

}

复杂配置

根据不同的后缀名访问不同的服务器地址

把apache-tomcat复制成两份,一份是tomcat8081,一份是tomcat8082,过程如下

cp -r apache-tomcat tomcat8081

cp -r apache-tomcat tomcat8082

然后通过远程连接修改tomcat8081里面的server.xml配置里面修改端口号

8081

 

然后把tomact8081里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8081

<html lang="en"> <head> <title><%=request.getServletContext().getServerInfo() %></title> <link href="favicon.ico" rel="icon" type="image/x-icon" /> <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link href="tomcat.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>tomcat8081index.jsp<h1> </body> </html>

然后把tomact8082里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8082

<html lang="en"> <head> <title><%=request.getServletContext().getServerInfo() %></title> <link href="favicon.ico" rel="icon" type="image/x-icon" /> <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link href="tomcat.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>tomcat8082index.jsp<h1> </body> </html>

然后就是启动tomcat8081和tomcat8082,启动如下所示

/root/tomcat8081/bin/startup.sh

/root/tomcat8082/bin/startup.sh

分别访问这两个地址,可以访问成功

然后我们配置本地电脑里面的host文件变成下面这样

windows/system32/drivers/etc

然后配置nginx服务器里面的conf文件夹里面的nginx.conf配置文件,配置完之后记得要重启nginx服务器

此时当访问www.sina.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.sina.com 默认的端口就是80,所以访问www.sina.com 的时候,就会找到下面的upstream tomcat1,然后下面的upstream tomcat1就会去找server 47.91.248.236:8081,就会找到8081端口的tomcat服务器,然后因为upstream tomcat1的默认访问页是index.jsp,所以就会访问8081端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8081/index.jsp)

此时当访问www.huohu.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.huohu.com 默认的端口就是80,所以访问www.huohu.com 的时候,就会找到下面的upstream tomcat2,然后下面的upstream tomcat2就会去找server 47.91.248.236:8082,就会找到8082端口的tomcat服务器,然后因为upstream tomcat2的默认访问页是index.jsp,所以就会访问8082端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8082/index.jsp)

user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #配置www.sina.com:80对应的服务器监听端口 upstream tomcat1 { server 47.91.248.236:8081; } server { listen 80; server_name www.sina.com; location / { proxy_pass http://tomcat1; #配置默认访问页,这里就会访问到tomcat1里面的那个index.jsp文件里面 index index.jsp; } } #配置www.houhu.com:80对应的服务器监听端口 upstream tomcat2 { server 47.91.248.236:8082; } server { listen 80; server_name www.houhu.com; location / { proxy_pass http://tomcat2; #配置默认访问页,这里就会访问到tomcat2里面的那个index.jsp文件里面 index index.jsp; } } }

然后我们访问 www.sina.com

此时访问到的就是tomcat8081对应的tomcat服务器

然后我们访问 www.huohu.com

此时访问到的就是tomcat8082对应的tomcat服务器

Nginx实现负载均衡

https://www.cnblogs.com/wly1-6/p/10418149.html

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

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

相关文章

Figma源文件导出技巧:提升效率的简易步骤

因为Figma&#xff0c;sketch,xd都支持导入sketch格式,所以我们只要将文件格式转成sketch&#xff0c;就能自由的在不同软件间导入导出。 现在就有一个网站可以帮助你快速简单的导入Figma、Sketch、XD 等格式文件&#xff0c;&#xff0c;还可以导出 Sketch 文件满足跨工具协作…

Nacos 服务注册和配置中心

文章目录 1 应用1.1 依赖1.2 配置文件 2 Nacos发现实例模型3 注册中心对比4 Nacos 支持AP和CP模式的切换4.1 何时选择何种模式&#xff1f; 5 Nacos 服务配置10.5.1 SpringCloud原生注解RefreshScope5.2 配置5.3 分类设计思想 6 Nacos 集群是持久化配置6.1 Nacos支持三种部署模…

Redis实战案例16-redisson的快速入门

1. 可能存在的问题 不可重入&#xff1a;基于SETNX实现的简单分布式锁通常不支持可重入性&#xff0c;即同一个客户端在获取锁后不能再次获取锁&#xff0c;否则会导致死锁。不可重试&#xff1a;如果多个客户端同时尝试获取锁但都失败了&#xff0c;并且没有重试机制&#xff…

基于RWKV-Runner大语言模型系统

RWKV Runner 旨在消除大语言模型的使用门槛,全自动处理AI对话,并且提供了OpenAI API兼容的接口。使用起来简单方便,但是还是比较吃机器,显存2G到32G都可以使用,根据自己的模型选择即可。 总结起来: 使用起来方便简单,上手容易。需要有电脑基础,很多地方还不是傻瓜化。需…

LayUI框架——选项卡等element组件使用

目录 前言 一、element组件 1. element基础方法 2. 更新渲染 二、动态实现选项卡 要求 1. 优化dao类 2. 优化前端JSP页面 3. 引入头部hand.jsp页面 4. 优化后台主界面js 5. 运行效果图 前言 在项目中我们需要编写许多页面&#xff0c;在页面中有许多元素需要自动去完…

【Unity编辑器扩展】字库裁剪工具, 优化字体文件大小,批量修改文本组件字体

原理&#xff1a; 1. 扫描项目中用到的字符集&#xff1b; 2. 把字体文件裁剪掉没用到的字符&#xff0c;仅保留项目中用到的字符&#xff1b; 3. 生成裁剪后的字体文件&#xff1b; 工具功能设计&#xff1a; 1. 支持通过拖拽字体文件或文件夹批量选择需要裁剪的字体文件。…

网络安全设备Bypass功能介绍及分析

网络安全平台厂商往往需要用到一项比较特殊的技术&#xff0c;那就是Bypass&#xff0c;那么到底什么是Bypass呢&#xff0c;Bypass设备又是如何来实现的&#xff1f;下面我就对Bypass技术做一下简单的介绍和说明。 一、 什么是Bypass。 大家知道&#xff0c;网络安全设备一般…

mac安装Golang开发环境及入门

目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 1.1 快速入门需求 1.2 go学习&#xff08;自用&#xff09; 一、Mac brew 安装go环境 1.1 安装步骤 1&#xff09;终端输入&#xff0c;也可以指定下载go版本…

SPSSAU方差分析+python

准备数据 将数据格式调整为以下格式&#xff1a; jupyter处理过程 #读取数据 import numpy as np import pandas as pd# 创建一个空的DataFrame t1 pd.DataFrame() t2 pd.DataFrame() t3 pd.DataFrame() T1pd.read_excel(./数据/抑郁_T1.xlsx)T1.columnsT1.iloc[0] T1T1…

模板类与继承

模板类与继承 模板类继承普通类普通类继承模板类的实例化版本。普通类继承模板类模板类继承模板类模板类继承模板参数给出的基类 模板类继承普通类 基类 派生类 测试函数; 普通类继承模板类的实例化版本。 模板基类 普通类继承模板基类的实例化版本&#xff1a; 普通…

PROFINET转DeviceNet网关devicenet通讯模块

远创智控YC-DNT-PN这款神器&#xff0c;连接PROFINET和DeviceNet网络&#xff0c;让两边数据轻松传输。 这个网关不仅从ETHERNET/IP和DEVICENET一侧读写数据&#xff0c;还可以将缓冲区数据交换&#xff0c;这样就可以在两个网络之间愉快地传递数据了&#xff01;而且&#xff…

云计算的学习(三)

三、云计算中的网络基础知识 3.1虚拟化中网络的架构 a.虚拟化中网络的架构 二层交换机作为接入交换机使用&#xff0c;三层交换机可以作为汇聚交换机或核心交换机&#xff0c;在抛开网络安全设备时&#xff0c;路由器直接连接在互联网上。 b.广播和单播 物理服务器内部主要…

【单片机】MSP430单片机,msp430f5529,DHT11 温湿度检测仪,上限报警,单击双击判定,OLED

文章目录 功能接线示意图效果图原理 功能 硬件 IIC OLED 0.96寸 无源蜂鸣器 低电平触发 DHT11 温湿度传感器 板子上的2个按键 板子上的2个灯 功能&#xff1a; 1 显示温湿度 2 按键单击双击识别 3 按键修改温湿度&#xff0c;双击选择某一个设置项目&#xff0c;单击进行加或…

Python(五):print函数详解

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

Redis 高频面试题 2023 最新版

Redis 高频面试题 2023 最新版 文章目录 Redis 高频面试题 2023 最新版一、Redis缓存相关1. 什么是缓存穿透&#xff1f;如何解决2. 什么是缓存击穿&#xff1f;如何解决 一、Redis缓存相关 1. 什么是缓存穿透&#xff1f;如何解决 是什么 缓存穿透就是根据某条件查询一个数据…

C++STL:顺序容器之forward_list

文章目录 1. 概述2. 成员函数和使用forward_list容器相关的函数 3. forward_list 容器的创建 1. 概述 forward_list 是 C 11 新添加的一类容器&#xff0c;其底层实现和 list 容器一样&#xff0c;采用的也是链表结构&#xff0c;只不过 forward_list 使用的是单链表&#xff…

解决ubuntu cuda版本nvcc -V和nvidia-smi不一致问题

在使用nvcc -V和nvidia-smi查看cuda版本时不一致&#xff1a; nvcc -V版本是10.1 nvidia-smi的版本是12.2 上面如果能显示版本&#xff0c;所以是已经有驱动&#xff0c;首先要删除之前的驱动&#xff1a; 1、执行以下命令&#xff0c;删除旧版本的驱动 sudo apt-get purge …

数据库用户管理

一 目录 一 新建用户 二 用户名的改变 三 删除用户 四 修改用户密码root用户 五 忘记mysql的密码时候怎么办 六 数据库的权限赋予 ​编辑 七 查询用户名的权限 八 权限的撤销 九总结 新建用户 CREATE USER 用户名来源地址 [IDENTIFIED BY [PASSWORD] 密码]; 只是一个用…

node中表单验证捕获第三方库

1.安装 npm install escook/express-joi npm install joi17.4.0 2.使用 2.1创建一个schema文件夹 说明&#xff1a;用于表单规则集&#xff0c;设置表单的规划的 // 导入定义验证的包 const joi require("joi");// 定义用户名和密码的验证规则 const username j…