当前位置: 首页 > 帮助中心首页 > 常见问题

国密SSL证书的apache配置环境下安装

环境配置

国密标准 SSL 证书安装在 Apache 服务器上,Apache 服务器需具备相关环境支持模块。
下述步骤中的目录皆是测试环境的目录,具体路径请根据您的实际环境与需求进行确定。

1.远程登录 Apache 服务器。


2.安装编译工具:如果您的系统是全新的,请先在服务器上安装 C++ 开发环境,为编译提供环境支持。您可以使用如下命令进行安装。

yum install -y gcc 

yum install -y gcc-c++


3.下载并编译安装 apr(以 apr 1.7.0 版本为例),您可以通过在服务器上输入以下命令,下载 apr 至服务器并编译安装,由于操作系统的版本不同,详细操作步骤略有区别。


#切换至 /usr/local/ 目录下cd /usr/local/ 

#下载 apr 1.7.0

wget -c http://mirrors.tencent.com/apache/apr/apr-1.7.0.tar.gz

#解压已下载的 apr 1.7.0 压缩包

tar -zvxf apr-1.7.0.tar.gz

#进入解压后的 apr 1.7.0 文件夹并指定编译目录路径。

cd apr-1.7.0/

./configure --prefix=/usr/local/apr

#编译安装 apr

make && make install


4.下载并编译安装 apr-util(推荐使用 apr-util-1.5 版本,以 apr-util-1.5 版本为例)。

#切换至 /usr/local/ 目录下

cd /usr/local/ 

#下载 apr-util-1.5.4

wget -c http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz

#解压已下载的 apr-util-1.5.4 压缩包

tar -zvxf apr-util-1.5.4.tar.gz 

#进入解压后的 apr-util-1.5.4 文件夹并指定编译目录路径。

cd /usr/local/apr-util-1.5.4/

./configure --prefix=/usr/local/apr-util 

--with-apr=/usr/local/apr

#编译安装 apr-util

make && make install


执行 make 命令时如果出现 #include <expat.h> ^ compilation terminated. 报错信息,请输入命令 yum install -y expat-devel 安装依赖库。


5. 安装 pcre。您可以通过以下两种方式进行安装。

推荐使用 yum 进行安装。

 yum install -y pcre-devel


编译安装。

#切换至 /usr/local/ 目录下

cd /usr/local/ 

#下载 pcre-8.43

wget -c https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz

#解压已下载的 pcre-8.43 压缩包

tar -zvxf pcre-8.43.tar.gz

#进入解压后的pcre-8.43文件夹并指定编译目录路径。

cd pcre-8.43/./configure --prefix=/usr/local/pcre 

#编译安装 pcre

make && make install


6. Apache 服务器安装:上述三个文件编译安装完成后,请下载 Apache 国密版和国密模块至 /usr/local 目录下进行编译安装。


国密模块文件名请不要修改,否则会导致错误。

如果在安装 Apache 的过程中找不到 pcre、apr-util 或 apr 等相关文件,请将 /pcre/bin/apr-util/bin/apr/bin 等文件加入系统路径。


#下载 Apache httpd-2.4.48 压缩包

wget -c http://mirrors.tencent.com/apache/httpd/httpd-2.4.48.tar.gz

#下载国密模块

wget -c 这里是国密模块的链接

#解压已下载的 模块名称_ssl 压缩包

tar -zvxf 模块名称_ssl.tar.gz 

#解压已下载的 httpd-2.4.48 压缩包

tar -zvxf httpd-2.4.48.tar.gz 

#进入解压后的 httpd-2.4.48 文件夹并指定编译目录路径。

cd httpd-2.4.48/

./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --with-zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/wotrus_ssl2.0 

#编译安装 Apache

make && make install


国密标准证书安装

1. 下载并解压缩 22.cn 证书文件包到本地目录。 解压缩后,可获得相关类型的证书文件。 其中包含 Apache 文件夹:
内容
1_root_sign_bundle.crt 证书文件
2_root_encrypt_bundle.crt 证书文件
3_cloud.tencent.com_sign.crt 证书文件
4_cloud.tencent.com_encrypt.crt 证书文件
5_cloud.tencent.com.key 私钥文件

2.进入 /usr/local/httpd/conf 目录,新建 cert 目录,将已获取到的 1_root_sign_bundle.crt 证书文件、2_root_encrypt_bundle.crt 证书文件、3_cloud.tencent.com_sign.crt 证书文件、4_cloud.tencent.com_encrypt.crt 证书文件以及 5_cloud.tencent.com.key 私钥文件从本地目录拷贝到 Apache 服务器的 /usr/local/httpd/conf/cert 目录下。


3.进入 /usr/local/httpd/conf 目录,按照以下步骤编辑 httpd.conf 文件:

3.1 请在 #ServerName www.example.com:80 下增加 ServerName(您的域名):80。
3.2 请去掉 LoadModule ssl_module modules/mod_ssl.so 前的 #。
3.3 请在 #Include conf/extra/httpd-ssl.conf 下增加 Include conf/ssl.conf 文件内容后保存并退出。


4.在 /usr/local/httpd/conf 目录下,新建一个 ssl.conf 文件,添加如下配置:

Listen 443

<VirtualHost *:443>

#填写证书名称

ServerName 22.cn

#填写网站文件路径

DocumentRoot website根目录

#启用 SSL 功能

SSLEngine on

# SM2 证书 sign 配置

SSLCertificateFile /usr/local/httpd/conf/cert/3_22.cn_sign.crt 

SSLCertificateKeyFile /usr/local/httpd/conf/cert/5_22.cn.key

SSLCertificateChainFile /usr/local/httpd/conf/cert/1_root_sign_bundle.crt

# SM2 证书 encrypt 配置

SSLCertificateFile /usr/local/httpd/conf/cert/4_22.cn_encrypt.crt

SSLCertificateKeyFile /usr/local/httpd/conf/cert/5_22.cn.key

SSLCertificateChainFile /usr/local/httpd/conf/cert/2_root_encrypt_bundle.crt

# sign 和 encrypt 配置中的 .key 为同一个

#请按照以下协议配置

SSLProtocol all -SSLv2 -SSLv3

#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。

SSLCipherSuite SM2-WITH-SMS4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL

SSLHonorCipherOrder on

<Directory "website根目录">

Options -Indexes -FollowSymLinks +ExecCGI

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

</VirtualHost>

具体的证书名称,证书目录,Directory 等配置请根据实际环境配置。


5.您通过执行以下命令验证配置文件问题。

/usr/local/httpd/bin/httpd -t

若提示 Syntax OK,则表示配置正常,可以启动 Apache 服务器。
若提示非 Syntax OK,请您重新配置或者根据提示修改存在问题。


6.执行以下命令重新启动 Apache 服务器

/usr/local/httpd/bin/httpd -k restart

如果浏览器地址栏显示安全锁标识,则说明证书安装成功。


  • 微信客服

    扫码咨询微信客服

    注册、续费更优惠

    公告、活动先知晓

    享受一对一专属服务

  • 客服QQ

  • 手机APP

    扫我安装22APP

  • 小程序

    爱名网微信小程序

  • 客服电话

    全国客服热线

    400-660-2522

  • 公众号

    关注爱名网服务号