環(huán)境配置
國密標(biāo)準(zhǔn) SSL 證書安裝在 Apache 服務(wù)器上,Apache 服務(wù)器需具備相關(guān)環(huán)境支持模塊。
下述步驟中的目錄皆是測試環(huán)境的目錄,具體路徑請根據(jù)您的實(shí)際環(huán)境與需求進(jìn)行確定。
1.遠(yuǎn)程登錄 Apache 服務(wù)器。
2.安裝編譯工具:如果您的系統(tǒng)是全新的,請先在服務(wù)器上安裝 C++ 開發(fā)環(huán)境,為編譯提供環(huán)境支持。您可以使用如下命令進(jìn)行安裝。
yum install -y gcc
yum install -y gcc-c++
3.下載并編譯安裝 apr(以 apr 1.7.0 版本為例),您可以通過在服務(wù)器上輸入以下命令,下載 apr 至服務(wù)器并編譯安裝,由于操作系統(tǒng)的版本不同,詳細(xì)操作步驟略有區(qū)別。
#切換至 /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
#進(jìn)入解壓后的 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
#進(jìn)入解壓后的 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
執(zhí)行 make 命令時(shí)如果出現(xiàn) #include <expat.h> ^ compilation terminated. 報(bào)錯(cuò)信息,請輸入命令 yum install -y expat-devel 安裝依賴庫。
5. 安裝 pcre。您可以通過以下兩種方式進(jìn)行安裝。
推薦使用 yum 進(jìn)行安裝。
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
#進(jìn)入解壓后的pcre-8.43文件夾并指定編譯目錄路徑。
cd pcre-8.43/./configure --prefix=/usr/local/pcre
#編譯安裝 pcre
make && make install
6. Apache 服務(wù)器安裝:上述三個(gè)文件編譯安裝完成后,請下載 Apache 國密版和國密模塊至 /usr/local 目錄下進(jìn)行編譯安裝。
國密模塊文件名請不要修改,否則會導(dǎo)致錯(cuò)誤。
如果在安裝 Apache 的過程中找不到 pcre、apr-util 或 apr 等相關(guān)文件,請將 /pcre/bin、/apr-util/bin 或 /apr/bin 等文件加入系統(tǒng)路徑。
#下載 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
#進(jìn)入解壓后的 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
國密標(biāo)準(zhǔn)證書安裝
1. 下載并解壓縮 22.cn 證書文件包到本地目錄。
解壓縮后,可獲得相關(guān)類型的證書文件。 其中包含 Apache 文件夾:
內(nèi)容:
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.進(jìn)入 /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 服務(wù)器的 /usr/local/httpd/conf/cert 目錄下。
3.進(jìn)入 /usr/local/httpd/conf 目錄,按照以下步驟編輯 httpd.conf 文件:
3.1 請?jiān)?#ServerName www.example.com:80 下增加 ServerName(您的域名):80。
3.2 請去掉 LoadModule ssl_module modules/mod_ssl.so 前的 #。
3.3 請?jiān)?#Include conf/extra/httpd-ssl.conf 下增加 Include conf/ssl.conf 文件內(nèi)容后保存并退出。
4.在 /usr/local/httpd/conf 目錄下,新建一個(gè) ssl.conf 文件,添加如下配置:
Listen 443
<VirtualHost *:443>
#填寫證書名稱
ServerName 22.cn
#填寫網(wǎng)站文件路徑
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 為同一個(gè)
#請按照以下協(xié)議配置
SSLProtocol all -SSLv2 -SSLv3
#請按照以下套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
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 等配置請根據(jù)實(shí)際環(huán)境配置。
5.您通過執(zhí)行以下命令驗(yàn)證配置文件問題。
/usr/local/httpd/bin/httpd -t
若提示 Syntax OK,則表示配置正常,可以啟動 Apache 服務(wù)器。
若提示非 Syntax OK,請您重新配置或者根據(jù)提示修改存在問題。
6.執(zhí)行以下命令重新啟動 Apache 服務(wù)器。
/usr/local/httpd/bin/httpd -k restart
如果瀏覽器地址欄顯示安全鎖標(biāo)識,則說明證書安裝成功。