文章目錄
- 文件準備
- 編譯部署nginx
- 申請國密數字證書
- 配置證書并測試
文件準備
下載文件并上傳到服務器,這里使用centos 7.8
本文涉及的程序文件已打包可以直接下載。 點擊下載
下載國密版openssl
https://www.gmssl.cn/gmssl/index.jsp
下載穩定版nginx
http://nginx.org/en/download.html
編譯部署nginx
下載解壓nginx程序包,目錄如下
修改源碼包中
/root/apps/nginx-1.24.0/auto/lib/openssl/conf 文件內容中
$OPENSSL/.openssl 路徑為 $OPENSSL
編譯nginx
./configure \
--without-http_gzip_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-file-aio \
--with-openssl="/usr/local/gmssl" \
--with-cc-opt="-I/usr/local/gmssl/include" \
--with-ld-opt="-lm"
如果編譯過程中出現錯誤,根據錯誤信息baidu進行解決。編譯完成結果如下
執行make&& make install 進行安裝,結果如下
申請國密數字證書
https://www.gmcrt.cn/gmcrt/index.jsp
提交后下載的證書文件壓縮包內容如下,
如下四個上傳到 服務器并在nginx中進行配置
上傳服務器如下:
配置證書并測試
修改nginx配置文件,如下,證書先配置 簽名證書和私鑰,再配置加密證書和私鑰
server {listen 443 ssl;server_name localhost;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_certificate /usr/local/nginx/certs/sm2.test.sig.crt.pem;ssl_certificate_key /usr/local/nginx/certs/sm2.test.sig.key.pem;ssl_certificate /usr/local/nginx/certs/sm2.test.enc.crt.pem;ssl_certificate_key /usr/local/nginx/certs/sm2.test.enc.key.pem;#ssl_verify_client off;#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA:DES-CBC3-SHA:ECC-SM4-CBC-SM3:ECC-SM4-GCM-SM3;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA:DES-CBC3-SHA:ECC-SM4-CBC-SM3:ECC-SM4-GCM-SM3;ssl_verify_client off;location / {root html;index index.html index.htm;}}
訪問測試,chrome edge 等瀏覽器 都提示無法訪問 如下:
下載國密瀏覽器,可以正常進行訪問: