先交代一下為啥要弄這么個本地的https環(huán)境,我計劃在本地弄一套和線上一樣的環(huán)境,這樣在開發(fā)時我可以直接通過jenkins將代碼提交到線上不需要在通過ftp上傳文件到服務(wù)器,方便我調(diào)試和管理相關(guān)代碼,因此我在本地配置了https環(huán)境,我覺得很有必要將過程記錄下來以方便查閱,廢話說完了開始正題。
具體步驟
1、先確保本地已經(jīng)安裝openssl和openssl-devel (沒安裝的自行安裝)。
2、自己給自己頒發(fā)證書(制作密鑰)
cd
/usr/local/Nginx/conf/cert(存放證書目錄,自己創(chuàng)建)openssl genrsa -des3 -out server.key 1024 (生成私鑰,會輸入密碼短語,需要記住這個密碼)
openssl req -new -key server.key -out server.csr
命令輸入完成后會填寫一些必要的信息如下:
Country Name(國家:中國填寫CN)
State or Province Name(區(qū)域或是省份:CHONGQING)
Locality Name(地區(qū)局部名字:CHONGQING)
Organization Name(機構(gòu)名稱:填寫公司名)
Organizational Unit Name(組織單位名稱:部門名稱)
Common Name(網(wǎng)站域名)
Email Address(郵箱地址)
A challenge password(輸入一個密碼)
An optional company name(一個可選的公司名稱)
3、填完那些就會在當前目錄生成server.csr文件,接下來執(zhí)行
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key (對于使用的私鑰啟動SSL功能的NGINX)
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt (使用密鑰和CSR對證書進行簽名)
4、配置Nginx文件
在原來的server{}下增加一個server{} 內(nèi)容如下:
server {
listen 443; # https端口監(jiān)聽
server_name www.viphper.com;
root /web/www.viphper.com;
index index.html index.htm index.php;
# ssl配置
ssl on;
ssl_certificate cert/server.crt; #你自己的證書目錄
ssl_certificate_key cert/server.key; #你自己的證書目錄
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9010;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
try_files $uri =404;
}
}
重啟nginx打開你本地的網(wǎng)站看看是不是https可以訪問啦。