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

Docker部署Keycloak搭配Nginx反向代理后浏览器显示端口问题

Keycloak v23.0.1反向代理后URL显示异常端口问题解决

主服务器(非容器)部署Nginx作为反向代理,Docker容器运行Keycloak v23.0.1。访问管理页面时,输入keycloak.tld.com后会跳转至https://keycloak.tld.com:58443/logon_url_path...,功能正常但URL中多余显示了端口58443,旧版Keycloak无此问题,且Nginx与Docker的端口配置均正确。

原Nginx配置

server {
    server_name  keycloak.tld.com;

    access_log  /var/log/nginx/keycloak.access.log;
    error_log   /var/log/nginx/keycloak.error.log;

    location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Proto https;
      proxy_pass https://localhost:58443;
  }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/keycloak.tld.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/keycloak.tld.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = keycloak.tld.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name  keycloak.tld.com;
    listen 80;
    return 404; # managed by Certbot


}

问题根源与修正方案

问题源于Nginx的proxy_set_header配置错误,修正后的location段配置如下:

location / {
  proxy_set_header Host $http_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-Host $http_host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_pass https://localhost:58443;
  # 其余原有配置保持不变
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:52:33