1.下載nginx(安裝gcc,openssl,pcre等依賴,下載nginx的tar包,解壓)
2.安裝nginx(./configure --prefix=/usr/local/nginx --with-http_ssl_module;make;make install)
3.自簽ca證書:
3.1:建立一個目錄cert并進入
3.2:生成CA私鑰(openssl genrsa -outlocal.key2048)
3.3:生成CA證書請求(openssl req -new-key local.key -out local.csr)
Country Name (2 letter code) [XX]:CN #國家10State or Province Name (full name) []:BJ #省份11Locality Name (eg, city) [Default City]:BJ #城市12Organization Name (eg, company) [Default Company Ltd]:13Organizational Unit Name (eg, section) []:test #部門14Common Name (eg, your name or your server's hostname) []:test #主機名15Email Address []:test@test.com #郵箱1617Please enter the following'extra' attributes18to be sent with your certificate request19A challenge password []:wuminyan #密碼20An optional company name []:wuminyan #姓名
3.4:生成CA根證書(openssl x509 -req -inlocal.csr -extensions v3_ca -signkey local.key -out local.crt)
4.根據CA證書創(chuàng)建server端證書
4.1:生成server私匙(openssl genrsa -outmy_server.key2048)
4.2:生成server證書請求(openssl x509 -req -inlocal.csr -extensions v3_ca -signkey local.key -out local.crt)
4.3:生成server證書(openssl x509 -days365-req -inmy_server.csr -extensions v3_req -CAkey local.key -CA local.crt -CAcreateserial -out my_server.crt)
此時就生成了所有需要的證書:local.crt local.csr local.key local.srl my_server.crt my_server.csr my_server.key
5.配置nginx,修改conf下的nginx配置,如果是默認的nginx.conf,只需放開以下這段配置即可,然后修改ssl_certificate和ssl_certificate_key為服務端的證書和秘鑰文件
server {
? ? ? ? listen? ? ? 443 ssl;
? ? ? ? server_name? localhost;
? ? ? ? ssl_certificate? ? ? /usr/local/nginx/cert/my_server.crt;
? ? ? ? ssl_certificate_key? /usr/local/nginx/cert/my_server.key;
? ? ? ? ssl_session_cache? ? shared:SSL:1m;
? ? ? ? ssl_session_timeout? 5m;
? ? ? ? ssl_ciphers? HIGH:!aNULL:!MD5;
? ? ? ? ssl_prefer_server_ciphers? on;
? ? ? ? location / {
? ? ? ? ? ? root? html;
? ? ? ? ? ? index? index.html index.htm;
? ? ? ? }
? ? }
6.啟動nginx即可,訪問chrome,發(fā)現證書不受信任,可通過設置-》證書管理導入ca的crt文件