从IE切换至Edge/Chrome访问旧应用报错 修改SSL配置遇只读问题如何解决
解决步骤
1. 先解决配置文件无法写入的问题
root账号出现只读文件系统报错和权限无关,是文件系统/文件本身的写入限制,按顺序排查:
- 执行
mount | grep 配置文件所在目录,查看对应挂载点的挂载参数,如果输出带ro标记,说明分区被挂载为只读模式,执行mount -o remount,rw 对应挂载点路径重新挂载为可写模式。比如配置文件存放在/etc/httpd/conf/下,挂载点一般是根目录/,直接执行mount -o remount,rw /即可。 - 如果重新挂载失败,先排查文件系统损坏问题:卸载对应分区后执行
fsck 分区设备路径修复错误,重启后再尝试挂载为可写。 - 检查文件本身的扩展属性:执行
lsattr 配置文件全路径,如果输出带i标记,说明文件被设置了不可修改属性,执行chattr -i 配置文件全路径移除属性后即可正常编辑。
如果你的应用运行在只读镜像启动的容器、嵌入式设备中,上述操作不会持久化生效,需要直接修改基础镜像/固件中的配置,重新部署实例。
2. 实现Edge/Chrome正常访问(二选一即可)
解决写入问题后,选以下任意一种方案配置即可,优先选修复HTTPS的方案,安全性更高。
方案一:按原计划禁用HTTPS,走HTTP协议访问
- 从配置项
SSLEngine判断你用的是Apache类web服务,找到对应站点的443端口虚拟主机配置段,将SSLEngine on修改为SSLEngine off。 - 确认配置中存在80端口的HTTP虚拟主机配置,根目录、权限、反向代理规则和原HTTPS站点保持一致,没有的话直接补全对应配置。
- 执行
apachectl configtest(或httpd -t,根据你的服务名调整)校验配置无语法错误,重启web服务。 - 此时通过
http://应用地址访问即可,不会再触发证书错误。如果页面存在静态资源、接口地址硬编码为HTTPS的情况,需要同步修改为相对路径或HTTP地址,避免混合内容拦截。
方案二:保留HTTPS,修复证书信任问题(推荐)
IE允许跳过无效证书警告直接访问,不代表证书合法,Chrome/Edge对证书的校验规则更严格,NET::ERR_CERT_AUTHORITY_INVALID错误本质是浏览器不信任签发当前证书的CA机构,不需要关闭HTTPS也能解决:
- 替换原有无效证书:公网可访问的应用直接申请公网信任的SSL证书即可;内网应用可以搭建私有CA签发证书,同时将私有CA的根证书安装到所有访问终端的「受信任的根证书颁发机构」证书存储区。
- 注意新证书需要满足现代浏览器校验规则:使用SHA256及以上签名算法、证书有效期不超过398天、SAN扩展字段包含所有访问用的域名/IP,避免触发其他证书拦截规则。
- 将web服务配置中的证书路径、私钥路径替换为新证书的对应路径,保留
SSLEngine on配置,校验重启服务后即可正常访问。
内容的提问来源于stack exchange,提问作者mourad semi
相关产品推荐
相关产品推荐

