centos 搭建keycloak
之前在本地搭建keycloak可是相当简单快速,解压然后配置外网访问一下即可,万万没想到在部署在服务器时出现诸多问题
系统: centos 7
keycloak:10.0.2 OpenJDK
安装目录:/opt/keycloak-10.0.2
cd /opt
wget https://downloads.jboss.org/keycloak/10.0.2/keycloak-10.0.2.zip
unzip keycloak-10.0.2.zip
cd keycloak-10.0.2
这样就相当于安装完成,我这边用的是standalone模式,所以运行
add-user-keycloak.sh -r master -u admin -p admin #添加用户
./bin/standalone.sh
然后访问locahost:8080/auth/admin
然而keycloak 默认只能locahost访问,所以还得设置外网访问
有两种方式,
1:修改配置文件
vi ./standalone/configuration/standalone.xml
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
</interfaces>
将127.0.0.1 修改成你服务ip或者0.0.0.0,0.0.0.0为不限制ip访问
2:运行./bin/standalone.sh 时加上-b参数 ,即
./bin/standalone.sh -b 你要设置的IP
ps:需要注意默认使用8080端口,需要开放8080端口,特别时使用阿里云的服务器,需要到控制面板放行8080端口
我遇到的问题:
列表外网地址无法设置,设置成服务器地址会频繁报错,无法运行,只能设置成0.0.0.0,外网才能访问
未知原因
服务起来后一致无法访问。本地locahost访问正常
keycloak默认的端口8080被防火墙拦截了,需要开放8080端口,特别时使用阿里云的服务器,需要到控制面板放行8080端口
有一次启动时,服务报错,说已经有相同实例,无法启动
忘记关掉keycloak或者keycloak错误但进程还存在导致的,找出进程杀掉
ps -ef|grep keycloak
kill 进程号访问http://ip:8080/auth/admin时会重定向到http://ip:8080/auth/realms/master/protocol/openid-connect/auth?client_id=security-admin-console 然后提示HTTPS required
明明用的是http访问,怎么会报https的错误,去google了一下资料,发现keyclocak在外网访问的情况下,会强制使用https访问,这TM不是坑爹么!好在在stackoverflow查到一个解决方案:
./bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
./bin/kcadm.sh update realms/master -s sslRequired=NONE
这样这可以把强制https给关掉了
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭