gpt4 book ai didi

nginx - 使用 nginx 的 Keycloak 重定向 url 将转到 http 而不是 https

转载 作者:行者123 更新时间:2023-12-03 23:48:11 26 4
gpt4 key购买 nike

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

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

server {

listen 443 ssl;

server_name abc.ctech.com;

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

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


location / {


proxy_http_version 1.1;

proxy_set_header Host 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 Service
server {

listen 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 = / {

return 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 Host 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;

}
}

最佳答案

很长一段时间以来,我一直在与 docker swarm 模式下的集群 key 斗篷作斗争。
Ubunter's answer与文档中的相同,但这样做仍然没有为我解决问题。

我必须做些什么才能使其与当前的 jboss/keycloak:latest 一起使用docker 镜像( :9.0.3 )将使用环境变量 KEYCLOAK_FRONTEND_URL .

在添加之前,它仍然不断地向主 /auth/js/keycloak.js?version=czy98 发出 http URL。 javascript:

...
<!-- Libraries not managed by yarn -->
<script src="/auth/resources/czy98/admin/keycloak/lib/angular/ui-bootstrap-tpls-0.11.0.js"></script>
<script src="/auth/resources/czy98/admin/keycloak/lib/angular/treeview/angular.treeview.js"></script>
<script src="/auth/resources/czy98/admin/keycloak/lib/fileupload/angular-file-upload.min.js"></script>
<script src="/auth/resources/czy98/admin/keycloak/lib/filesaver/FileSaver.js"></script>
<script src="/auth/resources/czy98/admin/keycloak/lib/ui-ace/min/ace.js"></script>
<script src="/auth/resources/czy98/admin/keycloak/lib/ui-ace/ui-ace.min.js"></script>

<script src="http://my.server.name.here/auth/js/keycloak.js?version=czy98" type="text/javascript"
></script>

<script src="/auth/resources/czy98/admin/keycloak/js/app.js" type="text/javascript"></script>
<script src="/auth/resources/czy98/admin/keycloak/js/controllers/realm.js" type="text/javascript"></scr
ipt>
<script src="/auth/resources/czy98/admin/keycloak/js/controllers/clients.js" type="text/javascript"></s
cript>
<script src="/auth/resources/czy98/admin/keycloak/js/controllers/users.js" type="text/javascript"></scr
ipt>
<script src="/auth/resources/czy98/admin/keycloak/js/controllers/groups.js" type="text/javascript"></sc
ript>
<script src="/auth/resources/czy98/admin/keycloak/js/controllers/roles.js" type="text/javascript"></scr
ipt>
<script src="/auth/resources/czy98/admin/keycloak/js/loaders.js" type="text/javascript"></script>
<script src="/auth/resources/czy98/admin/keycloak/js/services.js" type="text/javascript"></script>
...

它还在内联javascript中生成了http:

    <script type="text/javascript">
var authServerUrl = 'http://my.server.name.here/auth';
var authUrl = 'http://my.server.name.here/auth';
var consoleBaseUrl = '/auth/admin/master/console/';
var resourceUrl = '/auth/resources/czy98/admin/keycloak';
var masterRealm = 'master';
var resourceVersion = 'czy98';
</script>

尽管 X-Forwarded-Proto: https以及 standalone-ha.xml 中其他必需的东西

关于nginx - 使用 nginx 的 Keycloak 重定向 url 将转到 http 而不是 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49629610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com