nginx 自建證書以https 訪問

1.生成自簽名ssl證書

mkdir /ssl
建立個文件夾放ssl證書
openssl genrsa -des3 -out domain.key 1024
#生成RSA密鑰(過程須要設置一個密碼,記住這個密碼)
nginx 自建證書以https 訪問
openssl rsa -in ylc520.key -out ylc520_nopass.key
#拷貝一個不須要輸入密碼的密鑰文件
nginx 自建證書以https 訪問
openssl req -new -key domain.key -out domain.csr
#生成一個證書請求
這裏會提示輸入國家,地區組織,email等信息.最重要的一個是"common name",須要與網站域名相同.html

Enter pass phrase for domain.key: # 以前設置的密碼

Country Name (2 letter code) [XX]:CN # 國家
State or Province Name (full name) []:Jilin # 地區或省份
Locality Name (eg, city) [Default City]:Changchun # 地區局部名
Organization Name (eg, company) [Default Company Ltd]:Python # 機構名稱
Organizational Unit Name (eg, section) []:Python # 組織單位名稱
Common Name (eg, your name or your server's hostname) []:ylc520.f3322.net # 網站域名
Email Address []:123@domain.com # 郵箱
A challenge password []: # 私鑰保護密碼,可直接回車
An optional company name []: # 一個可選公司名稱,可直接回車
輸入完這些就會生成一個ylc520.csr文件,提交給ssl提供商的時候就是這個csr文件.固然這裏並無向任何證書提供商申請,而是本身簽發證書.nginx

openssl x509 -req -days 365 -in ylc520.csr -signkey ylc520.key -out ylc520.crt
#使用上面的密鑰和CSR對證書籤名
nginx 自建證書以https 訪問安全

2.修改nginx的代碼session

server {
listen 80 ;
listen 443 ssl;
#新增一個監聽端口給ssl 用
server_name ylc520.f3322.net;
#你的域名
root /usr/share/nginx/html;dom

include /etc/nginx/default.d/*.conf;

ssl_certificate      /ssl/ylc520.crt;
ssl_certificate_key  /ssl/ylc520_nopass.key;

ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# 協議優化(可選,優化https協議,加強安全性)
 if ($server_port = 80) {
    rewrite ^(.*)$ https://$host$1 permanent;
}
# url從新,以80端口訪問進來的轉到https 訪問

3.訪問

nginx 自建證書以https 訪問
敲上域名,自動被定位到https訪問了ide

相關文章
相關標籤/搜索