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

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
13天前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
116 64
|
6天前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
8天前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
19 1
|
14天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
68 3
|
5天前
|
负载均衡 Java 开发者
Ribbon框架实现客户端负载均衡的方法与技巧
Ribbon框架为微服务架构中的客户端负载均衡提供了强大的支持。通过简单的配置和集成,开发者可以轻松地在应用中实现服务的发现、选择和负载均衡。适当地使用Ribbon,配合其他Spring Cloud组件,可以有效提升微服务架构的可用性和性能。
7 0
|
4天前
|
Linux Python Perl
Linux命令删除文件里的字符串
Linux命令删除文件里的字符串
15 7
|
4天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
6天前
|
Linux Perl
Linux之sed命令
Linux之sed命令
|
5天前
|
Linux
深入理解Linux中的cp命令:文件与目录的复制利器
深入理解Linux中的cp命令:文件与目录的复制利器
下一篇
无影云桌面