MarkLogic 8开发服务器SSL CA过期无法访问管理页面,如何禁用SSL?
解决MarkLogic 8 SSL CA过期无法访问管理页面的问题
别担心,这种情况确实挺棘手的——毕竟常规修改SSL配置的入口就是管理页面,但咱们完全可以通过直接修改配置文件或者命令行工具绕开这个限制,下面给你两种可靠的解决方法:
方法一:修改Admin Server配置文件
MarkLogic的Admin Server配置存在本地文件中,直接修改就能禁用SSL:
- 第一步:停止MarkLogic服务
- Linux系统:执行命令
service MarkLogic stop - Windows系统:打开服务管理器找到MarkLogic服务停止,或在命令行执行
net stop MarkLogic
- Linux系统:执行命令
- 第二步:找到并编辑AdminServer.conf文件
- Linux路径:
/var/opt/MarkLogic/AdminServer.conf - Windows路径:
C:\Program Files\MarkLogic\AdminServer.conf - 打开文件后,将
SSL_ENABLED=true修改为SSL_ENABLED=false;同时确认HTTP_PORT设置为8000(这是Admin Server默认的非SSL端口,若未修改过则无需调整)
- Linux路径:
- 第三步:重启MarkLogic服务
- Linux:
service MarkLogic start - Windows:
net start MarkLogic
- Linux:
- 完成后,你就能通过
http://<你的服务器IP>:8000正常访问管理页面了,进去后记得尽快重新配置有效的SSL证书。
方法二:使用mlcmd命令行工具修改配置
如果不想停止服务,也可以用MarkLogic自带的mlcmd工具远程修改Admin Server的SSL设置:
- 确保MarkLogic服务处于运行状态(虽然SSL证书过期,但服务本身通常仍能正常运行)
- 找到mlcmd工具的位置:
- Linux:
/opt/MarkLogic/bin/mlcmd - Windows:
C:\Program Files\MarkLogic\bin\mlcmd.exe
- Linux:
- 执行以下命令(替换成你的实际管理员账号、密码和服务器地址):
参数说明:mlcmd -u <管理员用户名> -p <管理员密码> -h <服务器地址> -P 8001 -k -c "admin:server-set-ssl-enabled(admin:get-configuration(), xdmp:server('Admin'), fn:false())" -x-k:跳过SSL证书验证(当前CA已过期,必须加这个参数才能连接8001端口)-P 8001:指定Admin Server的SSL端口-c后是XQuery命令,用于禁用Admin Server的SSL
- 执行成功后,Admin Server会关闭SSL,你直接用
http://<服务器IP>:8000访问管理页面即可。
注意事项
- 操作前建议备份AdminServer.conf文件,避免误改引发其他问题
- 禁用SSL只是临时解决方案,能访问管理页面后,务必尽快上传新的有效SSL证书并重新启用SSL,保障服务器安全
内容的提问来源于stack exchange,提问作者Hope Hou




