要在本地添加SSL,首先要做的是防火牆是不是放開了443端口,同時,在nginx安裝時是不是支持了ssl模塊,這個安裝網上很容易找到相關資料
防火牆,個人還是用iptables比較直觀
先將selinux關掉,設置成disabled,同時去掉服務
安裝iptables,同時設置好,一般的設置為
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
第一個是SSH端口
第二個是正常的http端口
第三個是SSL端口
第四個是數據庫端口
設置好這些以后,我們在本地創建證書,這個證書到時並不是可信任的(可信任的要錢,本地測試而已,不要錢最好)
我的保存路徑是/usr/local/nginx/ssl/
在這個目錄下執行如下
openssl genrsa -des3 -out server.key 1024 //創建自身密鑰 本地的虛擬機環境,1024夠了,要是你想要更高的,就*2*2吧.... openssl req -new -key server.key -out server.csr //通過密鑰生成相應CSR申請文件 正規要錢的就要拿着這玩意去申請了,同時里面的內容還要認真填,本地測試的就算了,隨便吧 openssl rsa -in server.key -out server.key //生成瀏覽器瀏覽網頁時不需要輸入密碼的密鑰 重寫server.key,網上有人怕操作失誤會重命名,看個人喜好了 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt//生成證書
都設置好后就是nginx的配置了
本地的配置,個人的如下
listen 80;
listen 443 ssl;
server_name *******;
#charset koi8-r;
#access_log logs/host.access.log main;
ssl_certificate /usr/local/nginx/ssl/server.crt;
ssl_certificate_key /usr/local/nginx/ssl/server.key;
location / {
root /usr/local/nginx/html/*******;
index index.html index.htm index.php;
}
接下來就不用說了,重啟nginx,然后訪問,O了