https部署(nginx代理) keycloak ,js加载不出来的问题

前言

问题说明:keycloak 需要https才能进行访问,所以打算采用 nginx做为入口,代理至keycloak应用,代理之后发现keycloak页面,有一个js加载不出来,请求失败404,请求地址为127.0.0.1,其它js都是https域名请求的,只有一个文件请求失败,问题原因就在于这个文件的请求地址不应该是127.0.0.1,具体如何解决,下面给出代码

环境说明

keycloak 采用docker部署启动,并连接数据库
安装nginx,采用nginx https入口。代理至keycloak服务

问题处理

要解决上述js文件加载失败的问题,分为两步

  1. docker 容器启动添加参数
 PROXY_ADDRESS_FORWARDING=true

贴上docker 运行完整命令:
注意点说明
1.容器内部的8080端口不可改变
2.-e PROXY_ADDRESS_FORWARDING=true 代理地址转发,解决js加载失败问题
3.把数据库参数值换成自己就可以
4. 最后一个参数为,镜像id

docker run --name keycloak -d -p 8011:8080  -e KEYCLOAK_USER=call-admin -e KEYCLOAK_PASSWORD=1436033645 -e DB_VENDOR=MYSQL -e DB_ADDR=bj-cdb.sql.tencentcdb.com -e DB_PORT=6001 -e DB_DATABASE=xa_keycloak -e DB_USER=root -e DB_PASSWORD=mWHPrYcul* -e JDBC_PARAMS='useSSL=false'  -e TZ=Asia/Shanghai -e LANG=zh_CN.GB2312 -e PROXY_ADDRESS_FORWARDING=true -v /etc/localtime:/etc/localtime --privileged=true --restart=always 388cf6d16996

2.nginx 添加配置

proxy_set_header X-Forwarded-Proto https;

完整配置

		  location / {
             proxy_pass   http://127.0.0.1:8011;
			 proxy_set_header X-Forwarded-Proto https;
			 proxy_set_header Host $host;
			 proxy_set_header X-Real-IP $remote_addr;
			 proxy_set_header X-Forwarded-For $http_x_forwarded_for;
			 proxy_headers_hash_max_size 51200;
			 proxy_headers_hash_bucket_size 6400;
			 client_max_body_size 1024m;
			 
        }

注意!!!

proxy_set_header X-Forwarded-Proto https; 这个配置在其它正常代理的location 中不要配置,否则会出现nginx 访问502错误,笔者亲测!切记!!!不要随便加这个参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值