ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

keycloak~nginx实现的https转发

2021-08-31 17:32:37  阅读:452  来源: 互联网

标签:DB server nginx proxy https keycloak


keycloak我们都以docker为例子,来讲一下https的部署。

  • https更安全,加密传输
  • kc有些cookies,需要https的支持

nginx部署

 
upstream keycloak {
    server 192.168.*.*:8080;
}
 
server {
     server_name kc.lind.com;
     listen 443 ssl;
     ssl_certificate /usr/local/nginx/tls.crt;
     ssl_certificate_key /usr/local/nginx/tls.key;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_prefer_server_ciphers on;
    
     location /{
     return 301 https://$server_name/auth;
     }
   
    location /auth {
      proxy_pass http://keycloak/auth;
      
      proxy_set_header Host $server_name;  
      proxy_set_header X-Forwarded-Proto  $scheme; #决定了keycloak.js文件是走https,这个比较特殊
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      
      }
    
}

kc的docker部署

PROXY_ADDRESS_FORWARDING它的最终作用:

  1. 在负责在https请求转发到http时,keycloak所有资源(包括keycloak.js)都会改写成https协议,一般我们不
  2. 在服务端可以返回真实的客户端IP地址
  • docker代码
docker run --name keycloak -d -p 8080:8080   \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=admin \
-e DB_VENDOR=MYSQL \
-e DB_ADDR=192.168.4.26 \
-e DB_DATABASE=keycloak \
-e DB_USER=*** \
-e DB_PASSWORD=*** \
-e JDBC_PARAMS='useSSL=false' \
-e TZ=Asia/Shanghai \
-e LANG=zh_CN.GB2312 \
-e PROXY_ADDRESS_FORWARDING=true \ #接收反向代码的Forwarded-For
-e KAFKA_HOST=192.168.4.26:9092 \
-v /etc/localtime:/etc/localtime \
--privileged=true \
--restart=always \
keycloak/phone

通过nginx的https访问keycloak

https://localhost/auth,它将会代理到localhost:8080这个端口上。

标签:DB,server,nginx,proxy,https,keycloak
来源: https://www.cnblogs.com/lori/p/15211374.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有