最近一段時間發現好多網站都從http協議變成了加密的https協議,比如說百度、吾志等等。https看起來比http高端了好多,而且在不同的瀏覽器向上還會顯示出不同於http的URL展示效果(比如說chrome 和QQ瀏覽器 使用https協議的網址就會變色)。
於是自己就想着把自己的網站加一個ssl證書,使之變成https://iwenku.net
最開始我使用的是騰訊雲的服務器,服務器系統是Windows,使用Windows雖然壞處挺多,但是也有好處,那就是Windows是圖形化界面的,這樣就簡化了很多管理員的操作,比如說添加ssl證書直接在iis管理器里面點幾下鼠標就行,但是最近我把服務器換成了阿里雲服務器,服務器系統也換成了CentOS,服務器軟件也由之前的Tomcat換成了nginx,所以使用了十幾年的圖形化界面也就隨之而去了。。。
在Nginx環境下配置ssl首先需要兩個文件:
一個.crt的文件和一個.key的文件
這兩個文件都需要上傳到服務器上,我是使用的ftp先上傳到我的網站空間里,然后連接到服務器使用cp命令把它們復制了出來,放到了/usr/local/nginx/conf/ssl文件夾里面
在這之后就是進行配置了
首先在/usr/local/nginx/conf文件夾里面使用vi命令用vi編輯器打開nginx.conf
在nginx.conf里面有好多配置信息,一直往下面翻就會出現一些已經注釋掉的關於HTTPS的內容
這個里面的內容其實就是nginx默認的關於https的設置,把它稍微改一下就可以用了
在這段注釋下面就開始往里面寫東西
server{ listen 443; server_name iwenku.net;//網址 root /mnt/XXXXXXXXXX;//網站根目錄位置 ssl on;//開啟ssl ssl_certificate /usr/local/nginx/conf/ssl/iwenku_server.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/iwenku_server.key; }
上面這是我最開始的時候寫的,然后保存,重啟服務器,訪問https://iwenku.net 卻發現直接把我的PHP源碼給爆了出來。。
之后又進入服務器,仔細看了一下 原來是把location給漏掉了,然后又在上面的基礎上繼續添加代碼
server{ listen 443; server_name iwenku.net;//網址 root /mnt/XXXXXXXXXX;//網站根目錄位置 ssl on;//開啟ssl ssl_certificate /usr/local/nginx/conf/ssl/iwenku_server.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/iwenku_server.key; location ~ \.php$ { fastcgi_pass 127.0.0.1:10000; include fastcgi.conf; } }
再重啟了一下服務器,發現OK~