如何移除ArcGIS Server访问URL中自带的默认端口号
移除ArcGIS Server访问URL中端口号的可行方法
浏览器访问URL时默认不带端口的情况下,HTTP协议会自动请求80端口,HTTPS协议会自动请求443端口,因此实现不带端口访问的核心逻辑是将ArcGIS Server的服务映射到80/443这两个默认端口上,具体可行方案如下:
方案1:直接修改ArcGIS Server服务监听端口
适用场景:服务器80(HTTP)/443(HTTPS)端口无其他服务占用
操作步骤:- 登录ArcGIS Server管理员后台,地址为
http://你的服务器域名:6080/arcgis/admin - 依次进入
machines→ 对应服务器节点名称 →ports配置页 - 将HTTP端口从默认的6080修改为80,HTTPS端口从默认6443修改为443
- 保存配置后重启ArcGIS Server服务即可生效
注意:Linux系统下1024以下端口属于特权端口,需要给ArcGIS Server运行用户授予对应端口的访问权限后才可正常启动。
- 登录ArcGIS Server管理员后台,地址为
方案2:部署ArcGIS Web Adaptor(官方推荐方案)
适用场景:需要兼容ArcGIS Enterprise生态,符合官方最佳实践,同时需要隐藏后端服务端口
操作步骤:- 在已经占用80/443端口的Web服务器(支持IIS、Tomcat等)上安装对应版本的ArcGIS Web Adaptor
- 按照向导配置Web Adaptor与后端ArcGIS Server站点关联
- 配置完成后Web Adaptor会自动将80/443端口收到的
/arcgis路径请求转发到后台6080端口的ArcGIS Server服务,同时支持集成身份验证等扩展功能。
方案3:配置通用反向代理转发请求
适用场景:服务器80/443端口需要承载多个不同服务,需要灵活配置路径转发规则
常用反向代理工具配置方法:- Nginx配置示例
编辑Nginx配置文件添加如下规则,重载配置后即可生效:
server { listen 80; server_name gisserver.domain.com; # 替换为你的实际域名 location /arcgis { proxy_pass http://127.0.0.1:6080/arcgis; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 兼容ArcGIS实时服务的WebSocket请求 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }- IIS配置
先安装IIS的ARR(Application Request Routing)和URL重写模块,新建绑定80端口的站点,配置URL重写规则,将/arcgis开头的请求转发到http://127.0.0.1:6080/arcgis即可。 - Apache配置
启用mod_proxy、mod_proxy_http、mod_proxy_wstunnel模块,在配置文件中添加指向6080端口的反向代理规则即可。
- Nginx配置示例
注意事项
所有方案配置完成后,建议进入ArcGIS Server管理员后台的站点设置页,将站点的Web Context URL更新为不带端口的访问地址,避免后续发布服务时自动生成带6080端口的资源链接。
内容的提问来源于stack exchange,提问作者GIS Specialist
相关产品推荐
相关产品推荐

