是的,用户在部署国密证书前,通常需要卸载现有的Nginx或Apache。
这背后的核心原因是,官方版本的Nginx和Apache所依赖的OpenSSL库不支持国密算法(SM2/SM3/SM4)。要部署国密证书,必须使用集成了国密算法支持的定制版本。
一、为何需要卸载重装?
为了支持国密算法,你现有的Web服务器需要被替换为经过专门编译或修改的版本。这个过程通常涉及卸载原版,再安装定制版。
Web服务器 官方版本问题 解决方案
Nginx 官方Nginx + OpenSSL不支持国密算法 卸载 官方版,重新编译安装集成了国密模块(如`wotrus_ssl`、`nginx_gm`等)的Nginx |
Apache 官方Apache + OpenSSL不支持国密算法 卸载 官方版,重新编译安装指定了国密模块(如`wotrus_ssl`)的Apache |
二、操作步骤与注意事项
1. 备份当前配置:在卸载之前,务必完整备份**你现有的Nginx/Apache配置文件(如`nginx.conf`或`httpd.conf`)以及网站数据。新安装的国密版服务器可以直接沿用这些配置,能大幅减少重新配置的工作量。
2. 准备国密版软件:你需要提前下载或编译好支持国密算法的定制版Nginx或Apache。部分云服务商或开源社区会提供这类定制版本。
3. 平滑过渡方案:为确保业务不中断,建议采用**双证书部署方案**。即在同一台服务器上同时配置国密(SM2)证书和通用的RSA证书。这样,支持国密的浏览器会使用国密证书,而不支持的浏览器则会自动切换到RSA证书,确保所有用户都能正常访问。此方案同样需要基于国密版Web服务器来实现。
总结
部署国密证书并非简单地替换证书文件,而是一次底层密码库和Web服务器软件的升级替换。因此,卸载现有Nginx/Apache并安装国密定制版是部署流程中的必要环节。
如果用户需要具体的编译或配置步骤,可以用你使用的操作系统(如CentOS、Ubuntu)和Web服务器版本,我可以提供更详细的指导。