Nginx网络服务六-----IP透传、调度算法和负载均衡

1.实现反向代理客户端 IP 透传

就是在日志里面加上一个变量

Module ngx_http_proxy_module

[root@centos8 ~]# cat /apps/nginx/conf/conf.d/pc.conf
server {
 listen 80;
 server_name www.kgc.org;
 location / {
   index index.html index.php;
   root /data/nginx/html/pc;
   proxy_pass http://10.0.0.18;
    #proxy_set_header X-Real-IP $remote_addr;                   #只添加客户端IP到请求报文头部,转发至后端服务器
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #添加客户端IP和反向代理服务器IP到请求报文头部
 }
}
#重启nginx
[root@centos7 ~]#systemctl restart nginx
#后端Apache配置:
[root@centos7 ~]#vim /etc/httpd/conf/httpd.conf
 LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#重启apache访问web界面并验证apache日志
 [root@centos8 ~]#cat /var/log/httpd/access_log
10.0.0.1 10.0.0.8 - - [05/Mar/2019:00:40:46 +0800] "GET / HTTP/1.0" 200 19 "-"
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/72.0.3626.119 Safari/537.36"

#Nginx配置:
[root@centos8 conf.d]# cat /apps/nginx/conf/nginx.conf
"$http_x_forwarded_for"' #默认日志格式就有此配置
#重启nginx访问web界面并验证日志格式:
10.0.0.8 - - [04/Mar/2019:16:40:51 +0800] "GET / HTTP/1.0" 200 24 "-"
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/72.0.3626.119 Safari/537.36" "10.0.0.1"

nginx已经可以看到了

 先看主配置文件中  /apps/nginx/conf/nginx.conf

 在看日志配置文件  /apps/nginx/logs/access.log

日志变量简单介绍 

1.1实验:单机去传

###7-1,7-3为nginx

###7-2为apache

###7-2是apache

tail   -f   /etc/httpd/logs/access_log

###实时看日志

1.先在 7-1 自己的文件中写内容

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#添加客户端IP和反向代理服务器IP到请求报文头部

2.在 7-2 的日志主配置文件中写内容

vim   /etc/httpd/conf/httpd.conf

3.用7-3访问,然后看7-2的日志

1.2实验:多机去传

三台主机均为nginx服务

1.将7-2转为nginx服务

发生的一个小错误,跳转到下面的  ”小问题解决“  去看

2.然后开启nginx服务

3.编辑内容

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#添加客户端IP和反向代理服务器IP到请求报文头部

4.去7-1访问一下

5.浏览器访问,看日志信息

三个地址我们都能看到,这就是IP透传

2.http反向代理负载均衡

在上一个节中Nginx可以将客户端的请求转发至单台后端服务器但是无法转发至特定的一组的服务器,而且不能对后端服务器提供相应的服务器状态监测,Nginx 可以基于ngx_http_upstream_module模块提供服务器分组转发、权重分配、状态监测、调度算法等高级功能

官方文档: https://nginx.org/en/docs/http/ngx_http_up

2.1轮询

1.给7-3和7-2网页编辑内容

我们做实验,为了看到效果,所以内容不一样

真实环境中,内容是一样的

2.在7-1的主配置文件下写内容

下面图标错了,是7-1!!!

 

3.在7-1中访问

4.当我们把7-3nginx服务停掉

5.把7-3nginx开启

2.2加权轮询

1.编辑主配置文件

2.访问,查看结果

2.3参数解析

max_fails=3 ###连你3次,没反应就认为你死了

fail_timeout=30 ###上线后,给一个延迟时间30s,然后再连你

max_conns=10 ###最大连接数,只给你连10个

backup  #设置为备份服务器,当所有后端服务器不可用时,才会启用此备用服务器 sorry server   自己不能转自己 

2.4设置备胎

1.编辑主配置文件

2.curl访问看结果

3.停掉7-2服务

2.5hash

1.写配置文件内容

2.访问看结果

缺点:和你的权重有关(weight),当你改变权重,会改变他的地址

2.6url  hash

1.改配置文件

2.访问看结果

实现每个url定向到同一个后端服务器

2.7cookie  hash

1.编辑主文件

2.看结果 

3.换一下data

-b name=data 从服务器响应set-cookie得到值,返回给服务器

2.8ip  hash

1.修改主配置文件

2.curl访问看结果

3.四层代理

stream

###用的四层,只能控制tcp、udp(实现反向代理功能,包括TCP协议代理)

安装redis

小问题解决

在我们安装了apache(httpd)的情况下;当我们想装nginx,发现开启报错

 1.当我们开启服务到时候,查看日志报错信息:我们80端口被占用

一台主机只能给一个服务提供80端口,当有两台服务都是80,就会报错,只能开一台服务 

如果想用两个服务,可以去其中一个服务下的主配置文件中,更改他的端口号 

这样两项服务都可以一起开启了

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

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

相关文章

等保2.0高风险项全解析:判定标准与应对方法

引言 所谓高风险项,就是等保测评时可以一票否决的整改项,如果不改,无论你多少分都会被定为不合格。全文共58页,写得比较细了,但是想到大家基本不会有耐心去仔细看的(凭直觉)。这几天挑里边相对…

【大数据】Flink 内存管理(一):设置 Flink 进程内存

《Flink 内存管理》系列(已完结),共包含以下 4 篇文章: Flink 内存管理(一):设置 Flink 进程内存Flink 内存管理(二):JobManager 内存分配(含实际…

智慧校园|智慧校园管理小程序|基于微信小程序的智慧校园管理系统设计与实现(源码+数据库+文档)

智慧校园管理小程序目录 目录 基于微信小程序的智慧校园管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 (1)学生信息管理 (2) 作业信息管理 (3)公告…

shader学习记录——融合、融球效果

融合、融球效果shader,重点在等势面公式上 Shader "Custom/MetaballsShader" {Properties{_MainTex ("Texture", 2D) "white" {}_Color("Color",Color) (1,1,1,1)}SubShader{Tags { "RenderType""Opaque…

什么是去中心化云计算?

去中心化云计算是一种新型的云计算方式,它与传统的中心化云计算不同,将数据和计算任务分布到多个节点上,而不是将数据集中存储在中心服务器上。这种云计算方式具有许多优势,包括提高数据安全性、降低运营成本、增强可扩展性和灵活…

【C语言】学生宿舍信息管理系统

目录 项目说明 1. 数据结构设计 2. 功能实现 3. 主菜单设计 4. 文件操作 5. 系统使用 项目展示 1.主菜单功能界面 ​编辑 2.添加信息 3.查询信息 4.修改信息 5.删除信息 6.退出程序 项目完整代码 结语 在这篇博客中,我们将探讨如何使用C语言来开发…

Java 反射机制

​ 更多内容,前往IT-BLOG ​ 反射Reflection被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。反射是一种功能强大且复杂的机制。使用它的主要人员是工具构…

通过QScrollArea寻找最后一个弹簧并且设置弹簧大小

项目原因,最近需要通过QScrollArea寻找其中最后一个弹簧并且设置大小和策略,因为无法直接调用UI指针,所以只能用代码寻找。 直接上代码: if (m_scrollArea){int iScrollWidth m_labelSelectedTitle->width();m_scrollArea-&g…

C语言--- 指针(3)

一.字符指针变量 在指针的类型中&#xff0c;我们知道有一种指针类型为字符指针char * 一般使用&#xff1a; #include<stdio.h> int main() {char ch a;char* p &ch;*p b;printf("%c\n",ch);return 0; } 其实还有一种使用方式 &#xff1a; #inc…

【前端素材】推荐优质后台管理系统Salreo平台模板(附源码)

一、需求分析 当我们从多个层次来详细分析后台管理系统时&#xff0c;可以将其功能和定义进一步细分&#xff0c;以便更好地理解其在不同方面的作用和实际运作。 1. 结构层次 在结构层次上&#xff0c;后台管理系统可以分为以下几个部分&#xff1a; a. 辅助功能模块&#…

2024年2月国内如何快速注册OnlyFans最新小白教学

前言 onlyface软件是一个创立于2016年的订阅式社交媒体平台&#xff0c;创作者可以在自己的账号发布原创的照片或视频&#xff0c;并将其设置成付费模式&#xff0c;若用户想查看则需要每月交费订阅。 需要注意的是&#xff0c;网络上可能存在非法或不道德的应用程序&#xff…

【C++】树形关联式容器set、multiset、map和multimap的介绍与使用

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.关联式容器 2.键…

鸿蒙应用成企业布局新方向 鸿蒙人才成开年之后“香饽饽”

随着春节假期的结束&#xff0c;职场人也开始返工返岗。与此同时2024年春招季也已拉开帷幕。2月23日&#xff0c;据智联招聘发布的《2024年春招市场行情周报》&#xff08;第一期&#xff09;显示&#xff0c;2024年春节后第一周&#xff0c;依托消费需求释放与制造业返工复产&…

【JavaEE】_前端POST请求借助form表单向后端传参

目录 1. 前端POST请求借助form表单向后端传参 2. 关于parameter方法获取参数的优先性问题 前端向后端传参通常有三种方法&#xff1a; 第一种&#xff1a;使用GET请求的query string部分向后端传参&#xff1a; 本专栏中已经详述了前端使用GET请求的query string向后端传参…

源聚达电商:抖音上的店铺评分是真的吗

在数字时代的浪潮中&#xff0c;抖音不仅是年轻人展示才华的舞台&#xff0c;也成为了商家营销的新阵地。然而&#xff0c;随着商业活动的增多&#xff0c;一个值得探讨的问题浮现出来&#xff1a;抖音上的店铺评分是否真实可靠? 抖音店铺的评分系统&#xff0c;理论上是对商家…

环境分析检测小剂量移液用耐受硝酸盐酸PFA材质吸管特氟龙移液枪枪头

PFA枪头&#xff0c;为移液枪专业定制&#xff0c;广泛用于ICP-MS、ICP-OES等痕量分析以及同位素分析等实验室。地质、电子化学品、半导体分析测试、疾控中心、制药厂、环境检测中心等一些机构少量移液用。 规格参考:0.1-0.2ml、1ml、2ml、5ml、10ml等。 目前部分规格可适配普…

MiKTeX安装后,Latex编译后PDF无法预览,是灰色的

解决方式删掉编译器就可以&#xff0c; 即删掉MiKTeX MiKTeX安装后会将编译器默认修改为MiKTeX&#xff0c;这个时候会显示报错&#xff0c;简单粗暴的方式是删掉MiKTeX软件

Opencv实战(3)详解霍夫变换

霍夫变换 Opencv实战系列指路前文&#xff1a; Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 文章目录 霍夫变换1.霍夫线变换1.1 原理1.2 HoughLines() 2.霍夫圆变换2.1 原理2.2 HoughCircles() 最基本的霍夫变换是从黑白图像中检测直线(线段) 霍夫变换(Hough Transform…

流模型 Flow 超详解,基于 Flow 的生成式模型,从思路到基础到公式推导到模型理解与应用(Flow-based Generative Model)

参考文献&#xff1a; [1] Dinh L, Krueger D, Bengio Y. Nice: Non-linear independent components estimation[J]. arXiv preprint arXiv:1410.8516, 2014. [2] Dinh L, Sohl-Dickstein J, Bengio S. Density estimation using real nvp[J]. arXiv preprint arXiv:1605.08803…

java反射底层原理,java面试基本知识

正文 ZooKeeper 很流行&#xff0c;有个基本的疑问&#xff1a; ZooKeeper 是用来做什么的&#xff1f;之前没有ZK&#xff0c;为什么会诞生 ZK&#xff1f; OK&#xff0c;解答一下上面的疑问&#xff1a;&#xff08;下面是凭直觉说的&#xff09; ZooKeeper 是用于简化分…