Nginx 反向代理发布label-studio

Nginx 反向代理配置:aaa.com 映射 localhost:8080

以下是可直接使用的完整Nginx配置,核心实现域名+指定路径 的反向代理,同时处理路径重写、客户端真实IP透传等关键问题,配置后aaa.com(及子路径aaa.com/xxx)会全部代理到localhost:8080服务。

一、完整Nginx配置(核心server块)

将以下配置添加到Nginx的配置文件中(通常在/etc/nginx/nginx.conf、/etc/nginx/conf.d/default.conf或自定义的aaa.com.conf中):

nginx 复制代码
# 监听80端口(HTTP协议,若需HTTPS需额外配置443端口+SSL证书)
server {
    listen 80;
    # 匹配目标域名,仅处理aaa.com的请求
    server_name aaa.com;

    # 核心:匹配以/l/开头的访问路径(^~表示优先匹配该前缀,避免正则干扰)
    location ^~ / {
        # 反向代理核心指令:转发到本地8080服务
        # 🔥 关键:结尾必须加/,否则会将/l/拼接至目标地址(变成localhost:8080/l/,导致后端404)
        proxy_pass http://localhost:8080/;

        # 透传客户端真实IP给后端服务(必配,否则后端日志显示的是Nginx本地IP)
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # 透传原始请求域名给后端(部分后端服务需根据Host判断业务)
        proxy_set_header Host $host;

        # 可选:透传请求协议(http/https)
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 补充:匹配无尾斜杠的aaa.com/l,重定向到/l/(避免路径不一致导致的问题)
    location = /l {
        rewrite ^ /l/ permanent;
    }
}

二、配置核心关键点说明

1. proxy_pass 结尾/的关键作用(重中之重)

  • 若proxy_pass写为 http://localhost:8080/(带/ ):Nginx会将匹配的路径/l/剔除 ,仅转发后续子路径。
    例:请求aaa.com/l/user/1 → 实际转发到localhost:8080/user/1(符合需求)。
  • 若proxy_pass写为 http://localhost:8080(不带/ ):Nginx会将匹配的路径/l/拼接 到目标地址。
    例:请求aaa.com/l/user/1 → 实际转发到localhost:8080/l/user/1(后端无此路径,返回404)。

2. location 匹配规则

  • location ^~ /l/:前缀匹配,^~表示优先匹配该规则 ,避免被其他正则location(如location ~* \.html$)覆盖。
  • location = /l:精准匹配,仅处理aaa.com/l请求,通过rewrite重定向到/l/,保证路径统一。

3. 客户端真实IP透传

X-Real-IP和X-Forwarded-For是反向代理的必配头,后端服务可通过这两个请求头获取真实的客户端IP(而非Nginx服务器的127.0.0.1),例如Java、Python、PHP后端均可通过对应方式解析。

三、配置生效步骤

配置完成后,需执行以下命令检查语法并重启Nginx,确保配置生效:

1. 检查Nginx配置语法(必做,避免语法错误导致服务启动失败)

bash 复制代码
nginx -t

若输出 nginx: configuration file /etc/nginx/nginx.conf test is successful,说明语法无问题。

2. 平滑重启Nginx(不中断现有服务)

bash 复制代码
# 主流Linux系统(CentOS/Ubuntu/Debian)
nginx -s reload

# 若上述命令无效,用系统服务命令
systemctl reload nginx
相关推荐
桌面运维家6 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890756 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻7 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_949847759 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906949 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗9 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB10 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
codezzzsleep10 小时前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint
古法老登瞎折腾10 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
讯捷蓝达11 小时前
IBM V3500存储 双控故障、数据怎么恢复?
运维