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

如何配置Nginx重写规则,实现/webgis路径反向代理至内部Lizmap服务

问题描述

我在Docker中部署了Lizmap服务,本地访问地址为http://192.168.1.85:8090。当前用Nginx将https://geoservizi.pippoepluto.net/反向代理到这个内部地址。现在想修改配置,把外部访问路径改成https://geoservizi.pippoepluto.net/webgis,这个路径依然代理到http://192.168.1.85:8090,同时要为所有请求URL添加/webgis前缀,不知道怎么实现。

当前的vhost配置块如下:

location / {
    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;
    proxy_pass http://192.168.1.85:8090;
}
解决方案

要实现这个需求,需要调整Nginx代理配置,同时修正Lizmap服务的路径识别逻辑,避免页面资源链接出错,具体操作如下:

1. 修改Nginx反向代理配置

将原有的根路径location替换为/webgis/路径匹配,并通过rewrite规则剥离外部请求的/webgis前缀后转发到Lizmap服务:

location /webgis/ {
    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;
    # 移除请求URL中的/webgis前缀,再转发至内部服务
    rewrite ^/webgis/(.*)$ /$1 break;
    proxy_pass http://192.168.1.85:8090;
}

2. 配置Lizmap的基础路径

Lizmap默认会以根路径生成页面内的资源链接、API地址,如果不修改,访问/webgis路径后,页面内的脚本、样式会请求根路径下的资源,导致404错误。

需要修改Lizmap的本地配置文件(Docker环境下通常挂载在/var/www/lizmap/var/config/localconfig.ini,具体路径以你的挂载设置为准),在[services]区块添加或修改basePath项:

[services]
basePath=/webgis

修改完成后,重启Nginx和Lizmap容器,确保配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:50:26