linux centos 负载均衡 nginx 获取客户端真实ip:配置 ip 可见性

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 代理服务器和后端服务器都需要配置

#--- 代理服务器(外层nginx) ---#

nginx 子站点配置文件: /www/www/wwwconf/www.conf

#分站子站转发配置,再server 板块的 location 方法里面


server{

listen 80;

server_name work.eisc.cn;

location / {

    proxy_pass http://work.eisc.cn;

    #--- 将ip 记录下来,传递给后端服务器 ---#

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 }

}


nginx -s reload                          # nginx 配置生效,或者重启nginx

#---  web 服务器(后端 nginx)---#

nginx  主配置文件,非子站点:

# 再 http 板块:案例下面位置处:

       fastcgi_connect_timeout 300;

       fastcgi_send_timeout 300;

       fastcgi_read_timeout 300;

       fastcgi_buffer_size 64k;

       fastcgi_buffers 4 64k;

       fastcgi_busy_buffers_size 128k;

       fastcgi_temp_file_write_size 256k;

       fastcgi_intercept_errors on;


#--------- 配置可见ip ---------#

set_real_ip_from 10.111.111.1;

real_ip_header X-Forwarded-For;

# 填写实际的内网请求来源 ip

# 作用: 将内网ip 进行替换成客户端实际 ip

#------------------------------#


#---  nginx 主配置文件案例 ---#

user  www www;

worker_processes auto;

error_log  /www/wwwlogs/nginx_error.log  crit;

pid        /www/server/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

   {

       use epoll;

       worker_connections 51200;

       multi_accept on;

   }

http

   {

       include       mime.types;

               #include luawaf.conf;

               include proxy.conf;

       default_type  application/octet-stream;

       server_names_hash_bucket_size 512;

       client_header_buffer_size 32k;

       large_client_header_buffers 4 32k;

       client_max_body_size 50m;

       sendfile   on;

       tcp_nopush on;

       keepalive_timeout 60;

       tcp_nodelay on;

       fastcgi_connect_timeout 300;

       fastcgi_send_timeout 300;

       fastcgi_read_timeout 300;

       fastcgi_buffer_size 64k;

       fastcgi_buffers 4 64k;

       fastcgi_busy_buffers_size 128k;

       fastcgi_temp_file_write_size 256k;

       fastcgi_intercept_errors on;

       

#--------- 配置可见ip ---------#

set_real_ip_from 10.111.111.1;

real_ip_header X-Forwarded-For;

#---------------  开启gzip 压缩  ---------------#

       gzip on;

       gzip_min_length  1k;

       gzip_buffers     4 16k;

       gzip_http_version 1.1;

       gzip_comp_level 2;

       gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;

       gzip_vary on;

       gzip_proxied   expired no-cache no-store private auth;

       gzip_disable   "MSIE [1-6]\.";


       limit_conn_zone $binary_remote_addr zone=perip:10m;

               limit_conn_zone $server_name zone=perserver:10m;

#---------------------------------------------------#

       server_tokens off;

       access_log off;             # 关闭日志

include /www/wwwroot/wwwconf/*.conf;

}





阿里云配置教程: https://help.aliyun.com/document_detail/54007.html

第三方教程:https://www.cnblogs.com/wangxu01/articles/11243496.html

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
6月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
424 3
|
4月前
|
存储 应用服务中间件 nginx
在使用Nginx之后,如何在web应用中获取用户IP以及相关原理
但总的来说,通过理解网络通信的基础知识,了解http协议以及nginx的工作方式,我们已经能在大多数情况下准确地获取用户的真实IP地址了,在调试问题或者记录日志时会起到很大的帮助。
246 37
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
315 11
|
3月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
164 0
|
5月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
200 10
|
6月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
982 21
|
5月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
479 1
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
7月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
215 13
|
7月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
230 5