You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx反向代理ArcGIS Portal登录端口缺失致404问题求助

解决ArcGIS Portal反向代理认证重定向缺端口的问题

问题根源

ArcGIS Portal生成重定向URL时,默认使用后端自身的443端口,未感知到外部代理的8054端口,导致跳转请求缺失端口直接返回404。需要通过Nginx配置让后端服务识别正确的外部访问端口与协议。

具体修改方案

1. 调整8054端口的Nginx配置文件

在代理的location块中添加关键请求头,强制后端基于外部端口生成URL:

server {
    listen 8054;
    server_name 你的外网域名或IP;

    location / {
        proxy_pass https://你的内部Portal服务器地址; # 替换为实际内部集群/单服务器地址
        # 核心配置:传递带端口的Host头
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;

        # 兜底修正:如果后端返回内部443端口的重定向,直接替换为外部8054端口
        proxy_redirect https://内部Portal域名/ http://$host:$server_port/;
        proxy_redirect https://内部Portal域名:443/ http://$host:$server_port/;
    }
}
  • proxy_set_header Host $host:$server_port:让后端获取包含8054端口的Host信息,生成的重定向URL会自动带上该端口。
  • proxy_redirect:针对后端硬编码内部地址的情况,直接替换重定向目标为外部代理地址。

2. 检查全局Nginx配置

确保全局配置中proxy_set_header Host的默认设置不会覆盖端口配置文件中的自定义规则(server块配置优先级高于全局)。

3. 验证配置并重启服务

sudo nginx -t
sudo systemctl restart nginx

额外提示

如果外部访问采用HTTPS协议(8054为SSL端口),需将proxy_redirect中的http://替换为https://,同时为Nginx配置对应SSL证书。另外,也可直接在ArcGIS Portal管理界面设置webContextURL,填入外部代理的完整地址(如http://你的外网地址:8054/arcgis),从根源上让Portal生成正确的URL。

内容的提问来源于stack exchange,提问作者Kzone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:35:28