文章背景
常规情况下对接企业微信可参照JumpServer官方知识库中的流程即可完成对接:https://kb.fit2cloud.com/?p=128
但是此文章是用来解决特殊场景下对接企业微信失败的情况,尤其是在下图的网页授权阶段提示:域名所有权校验不通过。解决方案步骤:
注意,步骤中有校验文件名称的地方需要根据你的实际情况适当更改。
-
根据提示操作,点击域名校验,下载校验文件放到JumpServer服务器上。
将文件复制到jms_web容器下,并配置nginx
执行以下命令:
#将校验文件cp到jms_web容器中去
docker cp ./WW_verify_pGAIdNBz3AetOpbQ.txt jms_web:/opt/jumpserver/data
#编辑jms_web中的default.conf文件
docker exec -it jms_web vi /etc/nginx/conf.d/default.conf
然后在此配置文件中插入以下代码块:
location = /WW_verify_pGAIdNBz3AetOpbQ.txt {
alias /opt/jumpserver/data/WW_verify_pGAIdNBz3AetOpbQ.txt;
}
检测刚刚配置的default.cof是否有语法错误:
docker exec -it jms_web nginx -t
重启nginx服务:
docker exec -it jms_web nginx -s reload
- 持久化操作(不然该容器重启后这个配置文件就会还原)
将容器中的conf.d目录cp到本地目录
docker cp jms_web:/etc/nginx/conf.d ./
将本地的conf.d目录放置到/data/jumpserver/nginx/目录下
mv conf.d /data/jumpserver/nginx/
编辑jms_web的compose文件
vi /opt/jumpserver-offline-installer-v3.6.2-amd64/compose/docker-compose-lb.yml
追加持久化配置:
- /data/jumpserver/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
如图所示:重启jms_web容器:
docker stop jms_web
jmsctl start
- 验证校验文件能否访问的到(访问得到,就成功了)
http://democenter.xxxx.com/WW_verify_pGAIdNBz3AetOpbQ.txt
-
企业微信校验(问题解决)