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应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
1302 11
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
397 16
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
989 9
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
586 5
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
975 0
|
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,初始登录凭据已提供。
1016 0
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
860 0
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1233 87