1.使用openSSL生成證書
一個(gè)根SSL證書是由頒發(fā)的證書信任的證書頒發(fā)機(jī)構(gòu)(CA) 。
生成一個(gè)RSA-2048密鑰并保存到一個(gè)文件rootCA.key。該文件將被用作生成根SSL證書的密鑰。命令:openssl genrsa -des3 -out rootCA.key 2048
您可以使用您生成的密鑰來(lái)創(chuàng)建新的根SSL證書。并將其保存為rootCA.pem。命令:openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out
rootCA.pem
對(duì)應(yīng)輸入的密碼為:12345678
2.使用根SSL生成域SSL證書
創(chuàng)建一個(gè)新的OpenSSL配置文件,server.csr.cnf以便在創(chuàng)建證書時(shí)可以導(dǎo)入這些設(shè)置。
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=CN
L=Beijing
O=Senseshield
CN = Virbox SS Dom CA
創(chuàng)建v3.ext文件,以創(chuàng)建一個(gè)x509 v3證書。指定subjectAltName選項(xiàng)。
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = test.sensese.com
創(chuàng)建server.key,使用存儲(chǔ)在配置設(shè)置server.csr.cnfopenssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <(cat server.csr.cnf)
證書簽名通過(guò)我們創(chuàng)建的根SSL證書頒發(fā),創(chuàng)建一個(gè)localhost及testsensese.com的域名證書。輸出一個(gè)名為server,crt的證書文件。openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile v3.ext
3.驗(yàn)證頒發(fā)的域證書是否生效。
搭建nginx,配置nginx.conf。配置內(nèi)容如下:
server {
listen 80 default;
server_name test.sensese.com;#這個(gè)根據(jù)上文中創(chuàng)建v3.ext文件定義的DNS.2 = test.sensese.com來(lái)填寫
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443 ssl http2;#https默認(rèn)使用443端口
server_name test.sensese.com;
#ssl on;
ssl_certificate /etc/nginx/key/server.crt; #這個(gè)即上文生成的域證書
ssl_certificate_key /etc/nginx/key/server.key; #這個(gè)即上文生成的域證書秘鑰。
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
include /etc/nginx/default.d/*.conf;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
隨后在window上的瀏覽器訪問,在訪問前需要在window系統(tǒng)的證書界面中導(dǎo)入上文生成的SSL根證書。Ctr+R ==》cmd==》 certmgr.msc,
彈出如下:`
按順序執(zhí)行:右擊【受信任的根證書頒發(fā)機(jī)構(gòu)】-【所有任務(wù)】-【導(dǎo)入】-【證書導(dǎo)入向?qū)А浚瑢?dǎo)入rootCA.pem即完成。
最后,在本地配置host,即添加192.168.100.103 test.sensese.com;
192.168.100.103為nginx地址(根據(jù)自己實(shí)際nginx配置)
用ie瀏覽器訪問頁(yè)面test.sensese.com正常打開,同時(shí)也跳轉(zhuǎn)到https.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。