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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月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应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
5月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
361 11
|
5月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
133 4
|
5月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
273 3
|
4月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
164 0
|
4月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
212 0
|
6月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
228 10
|
6月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
522 1
|
1月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
105 16
|
21天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
3月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
672 13