keycloak~nginx实现的https转发
2021/9/1 7:06:23
本文主要是介绍keycloak~nginx实现的https转发,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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它的最终作用:
- 在负责在https请求转发到http时,keycloak所有资源(包括keycloak.js)都会改写成https协议,一般我们不
- 在服务端可以返回真实的客户端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这个端口上。
这篇关于keycloak~nginx实现的https转发的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享