簡體   English   中英

在 nginx 反向代理后面使用 keycloak 和超集陷入重定向

[英]Stuck in redirection with keycloak and superset behind nginx reverse proxy

我們在 Nginx 反向代理后面運行帶有 Keycloak 的 Superset,OpenShift 中有 SSL 個證書。

當我們嘗試通過 Superset 登錄時,重定向會卡住並且瀏覽器會無限循環。 當我們直接查詢 keycloak 並將反向代理排除在游戲之外時,它會按預期工作。

由於通過 certbot 獲得 SSL 證書,我們依賴反向代理。

這是我們的 nginx 配置:

server {
    listen 8080 ssl;
    listen [::]:8080 ssl;
    server_name example.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    port_in_redirect off;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    location /.well-known/acme-challenge/ {
        root /var/www/certbot/example.com;
    }
    location / {
        proxy_pass http://superset-service:8080;
    }
    location /auth {
        return 301 $scheme://$http_host/auth/;
    }
    location /auth/ {
        proxy_pass http://keycloak:8080;
    }
}

將 OP 的解決方案從評論轉換為答案:

直接將 token_uri 更改為token_uri而不是通過代理似乎可行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM