文章目录

  • 反向代理及其相关配置
    • 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后面有俩种配置方法

  1. 可以是代理的地址,这个地址可以是一台主机或者一个网址

  2. 可以把它配成一组服务器(下面先配一个服务器)

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文件)

目前只是代理一台服务器,可以代理到多台服务器上

【五、反向代理及其相关配置】相关推荐

  1. nginx https透明代理_Nginx反向代理https,配置lets-encrypt证书教程

    前言 本站也终于迁移到https了,由于全Docker部署,迁移过程中真是艰难无比(wordpress那块被折腾的想放弃了),也欢迎访问本人博客,(知乎的排版有些乱) Nginx反向代理https,配 ...

  2. 2022年4月10日记:Linux服务器开发,King,Nginx反向代理与系统参数配置conf原理

    Nginx反向代理与系统参数配置conf原理 前言 nginx成功开源的原因: nginx三个可控入口: 惊群 总结 前言 今天学习Nginx反向代理,可以说是慕名而来.从整体上看,我对Nginx的了 ...

  3. nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  4. Nginx反向代理与系统参数配置conf

    文章目录 一. nginx介绍 二. nginx的安装和配置 使用nginx必备安装的库 1.PCRE库的安装和编译 2.zlib库的安装和编译 3.OpenSSL开发库的安装和编译 nginx的编译 ...

  5. nginx反向代理模块配置详解_nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  6. Squid3反向代理安装与配置

    一.编译安装 下载 #wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz //找到地址 #tar zxv ...

  7. kbengine 的 nginx反向代理https/wss 配置 支持kbe负载均衡

    微信开发要求 必须用https 和 wss连接, 这里给出nginx反向代理配置, 自己使用一切正常,希望能帮助大家.域名一定要在微信开发后台设置,不然连接不上, 域名要备案,不然 审核不通过. ng ...

  8. nginx+tomcat 反向代理 负载均衡配置

    1.nginx的安装和配置见:http://www.cnblogs.com/ll409546297/p/6795362.html 2.tomcat部署项目到对应的服务器上面并启动,不详解 3.在ngi ...

  9. 若依框架vue 打包 nginx反向代理 一个域名配置多个location项目

    1.打包配置 在多个项目一个域名的情况下  需要改成hash模式  不然部署之后刷新会404 全局搜索项目中location.href  设置成打包名字 (之前是/index,现在改为了/dist/i ...

最新文章

  1. 软件开发文档模板 (学习)
  2. (转)spring aop(下)
  3. DL之模型调参:深度学习算法模型优化参数之对LSTM算法进行超参数调优
  4. 企业分布式微服务云SpringCloud SpringBoot mybatis (五)路由网关(zuul)
  5. RabbitMQ异步发布确认
  6. 【图解】java8性能对比_Java 11 究竟比 8 快了多少?
  7. LeetCode Number Complement
  8. 第二章:java_基本语法_3 运算符
  9. Oracle 建立包 和 包体
  10. Nokia n900使用
  11. Day4 单用户模式、救援模式、克隆虚拟机、linux机器相互登录
  12. RayTracing练习
  13. DNS 攻击方式及攻击案例
  14. 苹果手机怎么快速截屏_苹果iPhone XR手机的两种截屏方法
  15. 从零开始搭建ROS移动机器人系列之(四)直流电机PWM调速
  16. 将图片表格转化为excel的方法
  17. 程序员职业发展路线图(完整版+珍藏版)
  18. c语言odbc编程,c语言之odbc编程指南c语言之odbc编程指南.doc
  19. 面试复习题--锁的细枝末节
  20. 工业4.0下IOT融合技术核心OT节点

热门文章

  1. mysql取数据库时间函数_MySQL数据库—日期与时间函数
  2. 熟悉的人不认识我了,不熟悉的人认识我了
  3. 关于mac下搭建php、apache、mysql环境
  4. 使用golang发送邮件,报错“x509: certificate signed by unknown authority”
  5. 淘宝店铺推广难?这些方法你还没掌握!
  6. C语言:优先级与运算符的介绍
  7. excel中怎么显示数字/英文时间
  8. c#自定义事件以及与其他事件绑定
  9. Oracle 11g grid 日志的目录结构
  10. 关于vue中采用scoped时,组件的中css优先级