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

简介: 代理服务器和后端服务器都需要配置

#--- 代理服务器(外层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应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
9月前
|
存储 应用服务中间件 nginx
在使用Nginx之后,如何在web应用中获取用户IP以及相关原理
但总的来说,通过理解网络通信的基础知识,了解http协议以及nginx的工作方式,我们已经能在大多数情况下准确地获取用户的真实IP地址了,在调试问题或者记录日志时会起到很大的帮助。
525 37
|
9月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
275 4
|
9月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
526 3
|
8月前
|
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,初始登录凭据已提供。
505 0
|
Ubuntu 网络协议 Linux
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
6735 2
|
10月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
445 10
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
462 20
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
1203 16
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
22063 5
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!