网站首页 > 技术教程 正文
1、简介
弹性负载均衡(CT-ELB ,Elastic Load Balancing)通过将访问流量自动分发到多台云主机,扩展应用系统对外的服务能力,解决大量并发访问服务器的问题,实现更高水平的应用程序容错性能。
2、如何获取来访者的真实IP?
nginx需要安装http_realip_module模块
wget http://nginx.org/download/nginx-1.17.0.tar.gz
tar zxvf nginx-1.17.0.tar.gz
cd nginx-1.17.0
./configure --user=www --group=www --prefix=/path/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_realip_module
make
make install
编辑nginx配置文件
vi /path/server/nginx/conf/nginx.conf
在http或者server处,需要添加的配置字段和信息:
set_real_ip_from 100.125.0.0/16;
real_ip_header X-Forwarded-For;
添加配置字段如下所示
[root@web_server_01 conf.d]# cat default.conf
server {
listen 443 default ssl;
server_name localhost;
set_real_ip_from 100.125.0.0/16;
real_ip_header X-Forwarded-For;
重启nginx
nginx -s reload
查看Nginx的访问日志,您可以获取真实的来访者IP
[root@data04 ~]# tail -1f /data/data.access.log
test.data.com 202.120.79.136 [09/Nov/2022:09:08:11 +0800] "POST /pass-shdc/d7c1f3521cc1684532c7b8e7955934853bc03a7a0fa15fd543a663fb06cf1436a9cacce3420263ad13f179f740a865fe HTTP/1.1" 200 1196 "-" "-" 0.210 0.155 10.252.17.24 10.252.17.14:443
3、四层服务
注意:针对四层(TCP协议)服务,需要配置TOA插件获取。需要配置TOA插件获取。
操作场景
ELB可以针对客户访问的业务为访问者提供个性化的管理策略,制定策略之前需要获取来访者的真实IP。TOA内核模块主要用来获取ELB转化过的访问者真实IP地址(仅支持IPv4),该插件安装在ELB后端服务器。
当客户需要在操作系统中编译TOA内核模块时,可参考本文档进行配置。
Linux内核版本为2.6.32和Linux内核版本为3.0以上的操作系统,在配置TOA内核模块的操作步骤上有所区别,具体操作请参照相应的操作步骤进行配置。
前提条件
编译内核模块开发环境需与当前内核版本开发环境一致。
确保虚拟机可以访问开放源。
如果是非root用户,需拥有sudo权限。
操作步骤
以下操作步骤是针对Linux内核版本为3.0以上的操作系统。准备编译环境。
说明:
安装内核模块开发包的过程中,如果源里面找不到对应内核版本的安装包,需要自行去网上下载需要的安装包。以下是不同Linux发行版本的操作说明,请根据环境选择对应的方案。CentOS环境下的操作步骤。
#执行如下命令,安装gcc编译器。
sudo yum install gcc
#执行如下命令,安装make工具。
sudo yum install make
#执行如下命令,安装内核模块开发包,开发包头文件与库的版本需要与内核版本一致。
sudo yum install kernel-devel-`uname -r`
==='''说明:如果自带源里没有对应的内核开发包,可以到如下地址中去下载对应的rpm包'''===
[root@data04 ~]# uname -r
3.10.0-1062.12.1.el7.x86_64
#地址:https://mirror.netcologne.de/oracle-linux-repos/ol7_latest/getPackage/,以3.10.0-1062.12.1.el7.x86_64为例,下载后执行以下命令安装:
wget https://mirror.netcologne.de/oracle-linux-repos/ol7_latest/getPackage/kernel-devel-3.10.0-1062.12.1.el7.x86_64.rpm
rpm -ivh kernel-devel-3.10.0-1062.12.1.el7.x86_64.rpm
编译内核模块
#使用git工具,执行如下命令,下载TOA内核模块源代码。
git clone https://github.com/Huawei/TCP_option_address.git
#请进入以下链接下载TOA模块源代码。
https://github.com/Huawei/TCP_option_address
#执行如下命令,进入源码目录,编译模块。
cd src
make
==='''说明:编译过程未提示warning或者error,说明编译成功,检查当前目录下是否已经生成toa.ko文件。如果报错提示“config_retpoline=y but not supported by the compiler, Compiler update recommended”,表明gcc版本过老,建议将gcc升级为较新版本'''===
#加载内核模块
sudo insmod toa.ko
#执行如下命令,验证模块加载情况,查看内核输出信息。
dmesg | grep TOA
若提示信息包含“TOA: toa loaded”,说明内核模块加载成功。
#说明:
CoreOS在容器中编译完内核模块后,需要将内核模块复制到宿主系统,然后在宿主系统中加载内核模块。由于编译内核模块的容器和宿主系统共享/lib/modules目录,可以在容器中将内核模块复制到该目录下,以供宿主系统使用。
关于运维学习、分享、交流,笔者开通了微信公众号【IT运维大爆炸】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。
猜你喜欢
- 2024-10-15 CentOS7下FastDFS安装及配置(单节点)
- 2024-10-15 聊聊部署在K8S的项目如何获取客户端真实IP
- 2024-10-15 教你用Java获取IP归属地,最高可精确到街道
- 2024-10-15 老大说,网上这种获取真实IP地址的方法不对,我不信
- 2024-10-15 别让SSL证书暴露了你的网站服务器IP
- 2024-10-06 网站接入CDN后如何设置获取真实的用户IP地址信息
- 2024-10-06 使用python的正则截取nginx日志中IP和agent
- 2024-10-06 只有IP地址怎么部署HTTPS证书(本地连接没有有效的ip配置怎么修复)
- 2024-10-06 应用获取客户端真实IP(获取客户端什么意思)
- 2024-10-06 Java获取请求者的真实IP地址(java获取请求者的真实ip地址怎么写)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)