【五、反向代理及其相关配置】
文章目录
- 反向代理及其相关配置
- 1.反向代理
- 2.正向代理
- 3.网关
- 4. Nginx做反向代理的缺点
- 5.反向代理配置
- 1.跳转到外网网站上
- 2.跳转到本机服务器上
反向代理及其相关配置
1.反向代理
服务器提供的代理为反向代理
原理:当用户向服务器请求资源时,他会 首先进过Nginx,由Nginx再向服务器请求资源,得到资源后,服务器首先会把资源发送到Nginx上,然后由Nginx在发送给用户,此时Nginx就是反向代理服务器。
2.正向代理
用户提供的代理为正向代理(socket代理,http代理等)
3.网关
正向代理服务器、反向代理服务器与网关本质上是一样的。
访问网络的入口就是网关,例如家庭中的路由器就相当于一个网关,我在家用手机,平板等上网,访问资源等都会打到网关上,在传输出去。通俗一点网关就相当于学校的大门,你想出去,必须经过大门。
网关特点:中转。
用户访问资源,都需要打进网关,当通过网关将请求发送到服务器,服务器又会把信息,传到网关 ,最后传递给用户。
问题:当用户请求多的,流量大的时候,如果网关上限带宽不大的时候,就会发生阻塞。
解决方法:只能加大代理服务器的带宽。
4. Nginx做反向代理的缺点
因为nginx代理的带宽,决定了用户集群的网络带宽,在比较高的io操作,nginx做反向代理,效果不明显。
解决方案:当用户请求服务器时,必须经过nginx,但是当服务器返回数据是,直接打到用户,不在经过nginx(DR模型
)
5.反向代理配置
1.跳转到外网网站上
用到proxy_pass
关键字设置
proxy_pass
后面有俩种配置方法
可以是代理的地址,这个地址可以是一台主机或者一个网址
可以把它配成一组服务器(下面先配一个服务器)
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost; location / {proxy_pass http://www.baidu.com; //只有这个地方改变了#root html;#index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
运行结果:
2.跳转到本机服务器上
设置俩台虚拟主机:这里一个ip:192.168.56.136,另一个是192.168.56.137
我用的是桥接的方法,直接nat方法和仅主机方法都试过了,但是俩台虚拟机都ping不通。
注意:
在代理到网站的时候,虚拟机需要Ping通外网才可以
在代理本机服务器时,俩台虚拟机需要ping通才可以。(你想代理哪个服务器,你就需要和谁ping通)
修改网络配置命令
vi /etc/sysconfig/network-scripts/ifcfg-ens33
CentOS7配置情况:(ip:192.168.56.136)
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="DHCP"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b73ab354-05d7-4492-87df-d537a32120bd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.56.136
NETMASK=255.255.255.0
GETWAY=192.168.56.2
DNS1=8.8.8.8
Nginx配置情况:(ip:192.168.56.137)
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="DHCP"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="b73ab354-05d7-4492-87df-d537a32120bd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.56.137
NETMASK=255.255.255.0
GETWAY=192.168.56.2
DNS=8.8.8.8
配置centos7中的nginx.conf文件文件只修改了一个地方
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {proxy_pass http://192.168.56.137; //只有这一个地方变了#root html;#index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
配置nginx2中的nginx.conf文件文件没有修改,保持默认情况
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
为了区分默认的root下的html,将192.168.56.137下面的html文件改为
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body>
<body style="background-color: pink">
<h1>192.168.56.137</h1>
</body>
</html>
运行结果:(通过在网址中输入192.168.56.136,由于设置了proxy_pass他会跳转到192.168.56.137,然后显示137下面的html文件)
目前只是代理一台服务器,可以代理到多台服务器上
【五、反向代理及其相关配置】相关推荐
- nginx https透明代理_Nginx反向代理https,配置lets-encrypt证书教程
前言 本站也终于迁移到https了,由于全Docker部署,迁移过程中真是艰难无比(wordpress那块被折腾的想放弃了),也欢迎访问本人博客,(知乎的排版有些乱) Nginx反向代理https,配 ...
- 2022年4月10日记:Linux服务器开发,King,Nginx反向代理与系统参数配置conf原理
Nginx反向代理与系统参数配置conf原理 前言 nginx成功开源的原因: nginx三个可控入口: 惊群 总结 前言 今天学习Nginx反向代理,可以说是慕名而来.从整体上看,我对Nginx的了 ...
- nginx反向代理原理及配置详解
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- Nginx反向代理与系统参数配置conf
文章目录 一. nginx介绍 二. nginx的安装和配置 使用nginx必备安装的库 1.PCRE库的安装和编译 2.zlib库的安装和编译 3.OpenSSL开发库的安装和编译 nginx的编译 ...
- nginx反向代理模块配置详解_nginx反向代理原理及配置详解
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- Squid3反向代理安装与配置
一.编译安装 下载 #wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz //找到地址 #tar zxv ...
- kbengine 的 nginx反向代理https/wss 配置 支持kbe负载均衡
微信开发要求 必须用https 和 wss连接, 这里给出nginx反向代理配置, 自己使用一切正常,希望能帮助大家.域名一定要在微信开发后台设置,不然连接不上, 域名要备案,不然 审核不通过. ng ...
- nginx+tomcat 反向代理 负载均衡配置
1.nginx的安装和配置见:http://www.cnblogs.com/ll409546297/p/6795362.html 2.tomcat部署项目到对应的服务器上面并启动,不详解 3.在ngi ...
- 若依框架vue 打包 nginx反向代理 一个域名配置多个location项目
1.打包配置 在多个项目一个域名的情况下 需要改成hash模式 不然部署之后刷新会404 全局搜索项目中location.href 设置成打包名字 (之前是/index,现在改为了/dist/i ...
最新文章
- 软件开发文档模板 (学习)
- (转)spring aop(下)
- DL之模型调参:深度学习算法模型优化参数之对LSTM算法进行超参数调优
- 企业分布式微服务云SpringCloud SpringBoot mybatis (五)路由网关(zuul)
- RabbitMQ异步发布确认
- 【图解】java8性能对比_Java 11 究竟比 8 快了多少?
- LeetCode Number Complement
- 第二章:java_基本语法_3 运算符
- Oracle 建立包 和 包体
- Nokia n900使用
- Day4 单用户模式、救援模式、克隆虚拟机、linux机器相互登录
- RayTracing练习
- DNS 攻击方式及攻击案例
- 苹果手机怎么快速截屏_苹果iPhone XR手机的两种截屏方法
- 从零开始搭建ROS移动机器人系列之(四)直流电机PWM调速
- 将图片表格转化为excel的方法
- 程序员职业发展路线图(完整版+珍藏版)
- c语言odbc编程,c语言之odbc编程指南c语言之odbc编程指南.doc
- 面试复习题--锁的细枝末节
- 工业4.0下IOT融合技术核心OT节点
热门文章
- mysql取数据库时间函数_MySQL数据库—日期与时间函数
- 熟悉的人不认识我了,不熟悉的人认识我了
- 关于mac下搭建php、apache、mysql环境
- 使用golang发送邮件,报错“x509: certificate signed by unknown authority”
- 淘宝店铺推广难?这些方法你还没掌握!
- C语言:优先级与运算符的介绍
- excel中怎么显示数字/英文时间
- c#自定义事件以及与其他事件绑定
- Oracle 11g grid 日志的目录结构
- 关于vue中采用scoped时,组件的中css优先级