首页 文章

使用nginx的Keycloak Redirect url将转到http而不是https

提问于
浏览
2

Keycloak使用带有nginx配置的反向代理在ssl(https)中可用 . 现在我在ubuntu中部署了.net核心应用程序 . 此应用程序在http中,并使用keycloak作为openid connect进行身份验证 .

但是,当使用nginx在https中托管应用程序时,keycloak显示无效的重定向URL而不是登录页面 . Keycloak登录URL页面包含带有http而不是https的redirect_uri参数 . 请帮助解决在nginx中为反向代理服务器配置文件中完成的配置{

听443 ssl;

server_name abc.ctech.com;

ssl_certificate /etc/nginx/external/wildcard_ctech_com.pem;

ssl_certificate_key /etc/nginx/external/private.rsa;

地点 / {

proxy_http_version 1.1;

proxy_set_header主持人abc.ctech.com;

proxy_set_header X-Real-IP $ remote_addr;

proxy_set_header X-Forwarded-Proto https;

proxy_set_header X-Forwarded-Port 443;

proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;

proxy_pass http://172.30.5.28:8001;

}

}

Keycloak服务

服务器{

听443 ssl;

server_name keycloak.ctech.com;

ssl_certificate /etc/nginx/external/wildcard_ctech_com.pem;

ssl_certificate_key /etc/nginx/external/private.rsa;

location = / {

返回301 https://keycloak.ctech.com/auth; }

location / auth {

proxy_pass http://172.30.5.28:8080/auth;

proxy_http_version 1.1;

proxy_set_header主机keycloak.ctech.com;

proxy_set_header X-Real-IP $ remote_addr;

proxy_set_header X-Forwarded-Proto https;

proxy_set_header X-Forwarded-Port 443;

proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;

}

}

1 回答

  • 0

    我相信你还必须添加一个监听端口80(http)的服务器块,它将永久(301)重定向返回到同一服务器的端口443(https)版本 .

    像下面的东西......(这适用于两个地方)

    server {
        listen 80;
        server_name example.com;
        return 301 https://$server_name$request_uri;
    }
    

    因此,您需要在两个位置添加永久重定向,用您的实际服务器名称替换(当然)example.com .

    让我们知道,谢谢 .

相关问题