安裝nginx
在控制台 輸入
sudo apt-get install nginx
等待安裝成功之后。可以打開瀏覽器。輸入你的域名或者ip地址會出現"Welcome to nginx!"頁面。表示安裝成功。
申請SSL證書
SSL簡介
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。
現在因為非https網站會被谷歌等一些瀏覽器報紅。提示此網站不安全。所有我們有必要給我們的域名申請一個ssl證書。
ssl證書現在分為3種:
- 名型SSL證書(DV SSL) ,即只對域名的所有者(一般是域名管理員郵箱,比如admin@hotmail.com)進行在線檢查,具體是發送驗證郵件給域名管理員或以該域名結尾的郵箱至於該域名的管理員是真實注冊的單位還是另有其人,就不得而知了。
- 企業型 SSL 證書(OV SSL) ,是要購買者提交組織機構資料和單位授權信等在官方注冊的憑證,認證機構在簽發SSL證書前不僅僅要檢驗域名所有權,還必須對這些資料的真實合法性進行多方查驗,只有通過驗證的才能頒發SSL證書。
- 增強型 SSL 證書(EV SSL) ,與其他SSL證書一樣,都是基於SSL/TLS安全協議,都是用於網站的身份驗證和信息在網上的傳輸加密。它跟普通SSL證書的區別也是明顯的,安全瀏覽器的地址欄變綠,如果是不受信的SSL證書則拒絕顯示,如果是釣魚網站,地址欄則會變成紅色,以警示用戶。
安裝 Certbot
Certbot簡介可以訪問其官網查看。
Certbot官網https://certbot.eff.org/#ubuntuxenial-nginx 選擇自己對於的系統版本。就會生成對於的安裝命令。
下面以ubuntu 16.04為例。
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
獲取SSL
$ sudo certbot --authenticator webroot --installer nginx
輸入以上命令。如果出現下圖表示SSL獲取成功。可以復制證書路徑。后面有用。
自動更新
我們單次申請的免費證書有效時間是90天。所有我們要設置免費續費。這樣就可以一直免費試用下去了。
$ sudo certbot renew --dry-run
nginx配置
我們已經通過certbot獲取ssl證書。現在就開始來為我們的網站配置https訪問。
編輯nginx配置文件。
vi /etc/nginx/sites-available/default
新增一個ssl serevr,配置如下
server {
listen 443;
server_name cn4.retailstore365.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/xxxxx/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxxxx/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
} }
xxxxx請替換成自己的域名。或者直接復制剛剛申請ssl成功之后的證書地址。
然后重啟nginx
sudo service nginx reload
然后再次訪問你的你的域名或者ip地址:https://xxxxxxx.com/會看到前面的地址變成綠色了。表示ssl部署成功。
nginx常用命令
啟動:sudo nginx
重啟:sudo service nginx reload
關閉:sudo nginx -s stop
查看版本:sudo nginx -v
檢查配置文件:sudo nginx -t