首页 > 系统相关 >Nginx反向代理、负载均衡

Nginx反向代理、负载均衡

时间:2024-12-27 18:32:04浏览次数:5  
标签:负载 set ssl header server Nginx 反向 proxy localhost

nginx.conf基本配置

   server {
       listen 443 ssl;
       server_name yourdomain.com;

       ssl_certificate /path/to/cert.pem;
       ssl_certificate_key /path/to/key.pem;

       location / {
           proxy_pass http://localhost:8080;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

   server {
       listen 80;
       server_name yourdomain.com;

       # 将 HTTP 请求重定向到 HTTPS
       return 301 https://$host$request_uri;
   }

配置解释

listen 443 ssl;:监听 443 端口,并启用 SSL。
server_name yourdomain.com;:指定服务器名称或域名。
ssl_certificate 和 ssl_certificate_key:指定 SSL 证书和私钥的路径。
location / { ... }:定义处理所有以 / 开头的 URL 请求的规则。
proxy_pass http://localhost:8080;:将请求转发给本地的8080端口应用。
proxy_set_header Host $host;:设置 Host 头部为原始请求中的主机名。
proxy_set_header X-Real-IP $remote_addr;:设置 X-Real-IP 头部为客户端的真实 IP 地址。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;:追加 X-Forwarded-For 头部,记录客户端 IP 地址链。
proxy_set_header X-Forwarded-Proto $scheme;:设置 X-Forwarded-Proto 头部为原始请求的协议(HTTP 或 HTTPS)。
server { listen 80; ... }:监听 80 端口,并将 HTTP 请求重定向到 HTTPS。

负载均衡

   upstream tomcat_cluster {
       # 定义负载均衡池
       server localhost:8080 weight=1 max_fails=3 fail_timeout=30s;
       server localhost:8081 weight=1 max_fails=3 fail_timeout=30s;
       server localhost:8082 weight=1 max_fails=3 fail_timeout=30s;
   }

   server {
       listen 443 ssl;
       server_name yourdomain.com;

       ssl_certificate /path/to/cert.pem;
       ssl_certificate_key /path/to/key.pem;

       location / {
           proxy_pass http://tomcat_cluster;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
       }
   }

   server {
       listen 80;
       server_name yourdomain.com;

       # 将 HTTP 请求重定向到 HTTPS
       return 301 https://$host$request_uri;
   }
进阶配置

如果你需要更复杂的负载均衡策略,例如基于会话保持、健康检查等,可以进一步调整配置。以下是几个常见的进阶配置示例:
会话保持(Session Persistence)
使用 ip_hash 指令实现基于客户端 IP 的会话保持:

   upstream tomcat_cluster {
       ip_hash;
       server localhost:8080;
       server localhost:8081;
       server localhost:8082;
   }
健康检查

使用第三方模块如 ngx_http_upstream_check_module 实现健康检查:

   upstream tomcat_cluster {
       server localhost:8080;
       server localhost:8081;
       server localhost:8082;

       check interval=3000 rise=2 fall=5 timeout=1000 type=http;
   }

标签:负载,set,ssl,header,server,Nginx,反向,proxy,localhost
From: https://www.cnblogs.com/fchhk-blog/p/18636508

相关文章

  • window环境下 IIS负载均衡
    目录负载均衡分类DNS轮询CDNIP负载均衡网络七层协议ARR(ApplicationRequestRoute)配置IIS集群负载均衡配置负载监控Nginx获取真实客户端IP地址ARR 负载均衡任何的负载均衡技术都要想办法建立某种一对多的映射机制:一个请求的入口映射到多个......
  • 通过在 组策略管理控制台 中配置 AppLocker,可以非常有效地限制 PowerShell 脚本的执行
    在组策略管理控制台(GroupPolicyManagementConsole,GPMC)中配置AppLocker,可以有效地限制和控制哪些应用程序(包括PowerShell脚本)可以在计算机上执行。这是一种通过白名单策略确保只有已批准的应用程序能够运行的强大安全措施。配置AppLocker的步骤:1. 打开组策略管理控制......
  • Nginx日志配置
    Nginx日志Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。因此,将日志好......
  • Nginx的安装与配置
    一、编译方式安装**源码编译方式:**安装make:yum-yinstallautoconfautomakemake安装g++:yum-yinstallgccgcc-c++一般系统中已经装了了make和g++,无须再装yum-yinstallpcrepcre-develyum-yinstallzlibzlib-develyuminstall-yopensslopenssl-devel安装nginx......
  • Nginx配置之全局配置属性
    nginx全局属性的配置usernobody;#主模块命令,指定Nginx的worker进程运行用户以及用户组,默认由nobody账号运行。worker_processes1;#指定Nginx要开启的进程数。worker_rlimit_nofile100000;#worker进程的最大打开文件数限制error_loglogs/error.log;error_loglogs......
  • Nginx 在项目中发挥的作用
    **Nginx在项目中发挥的作用**网关---面向客户的总入口。虚拟主机---一台机器为不同的域名/ip/端口提供服务路由---使用反向代理,整合后续服务为一个完整业务静态服务器---mvvm模式中,用来发布前端html/css/js/img负载集群---使用upstream,负载多个tomcat要了解的一些概念......
  • nginx 跨域
      location/api/{add_header'Access-Control-Allow-Origin''*';if($request_method='OPTIONS'){......
  • Windows环境下ocelot + consul 实现负载均衡
    1.Consul的下载下载地址:https://developer.hashicorp.com/consul/installconsul的官网:https://www.consul.io/api/agent/service.html 2.解压之后配置环境变量3.启动Consul第一种:在启动consul的时候,node参数可以写成-node=127.0.0.1consulagent-server-ui-bootstr......
  • nginx 配置rtsp服务
    nginx配置rtsp服务配置Nginx提供RTSP服务涉及安装和编译第三方模块nginx-rtsp-module,并进行相应的配置。以下是详细的步骤和配置示例:步骤1:安装依赖和工具在Ubuntu上,安装必要的编译工具和依赖包:sudoapt-getupdatesudoapt-getinstallbuild-essentiallibpcre3-......
  • 使用容器运行Nginx应用及Docker命令
    使用容器运行Nginx应用及Docker命令一、使用容器运行Nginx应用1.1使用dockerrun命令运行Nginx应用1.1.1观察下载容器镜像过程查找本地容器镜像文件执行命令过程一:下载容器镜像#dockerrun-dnginx:latestUnabletofindimage'nginx:latest'locallylatest:......