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

修改Nginx Location配置后,PgAdmin无法通过/pgadmin4/路径访问

PgAdmin通过Nginx子路径访问失败的解决办法

问题核心是修改Nginx代理路径后,后端PgAdmin无法正确识别请求的路径前缀,导致资源加载和路由出错。以下是修复步骤:

1. 修正Nginx代理配置

修改server块中的location配置,确保proxy_pass末尾添加斜杠,并传递必要的请求头:

server {
    ...
    location /pgadmin4/ {
        proxy_pass http://unix:/tmp/pgadmin4.sock/;  # 必须保留末尾的斜杠
        include proxy_params;
        # 告诉PgAdmin当前的访问前缀
        proxy_set_header X-Script-Name /pgadmin4;
        proxy_set_header X-Forwarded-Prefix /pgadmin4;
    }
}
  • 末尾的斜杠会让Nginx将/pgadmin4/xxx映射为后端的/xxx,匹配PgAdmin的根路由。
  • X-Script-Name和X-Forwarded-Prefix头让PgAdmin生成正确的资源链接和跳转地址。

2. 配置PgAdmin的路径前缀

需要让PgAdmin自身知道它运行在/pgadmin4子路径下:

  • 修改配置文件:找到PgAdmin的主配置文件(通常是/usr/lib/python3/dist-packages/pgadmin4/config.py,或自定义的config_local.py),添加或修改:
    SCRIPT_NAME = '/pgadmin4'
    SERVER_NAME = 'example.com'
    
  • 或修改systemd服务:如果PgAdmin通过systemd管理,编辑服务文件(比如/etc/systemd/system/pgadmin4.service),在[Service]段添加:
    Environment="SCRIPT_NAME=/pgadmin4"
    Environment="SERVER_NAME=example.com"
    

3. 重启服务使配置生效

sudo systemctl restart nginx
sudo systemctl restart pgadmin4

内容的提问来源于stack exchange,提问作者Sadegh-khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:47:05