服務器系統:ubuntu16.04LTShtml
服務器IP地址:47.89.12.99nginx
域名:bjubi.comubuntu
在阿里雲控制檯-產品與服務-雲解析DNS-找到須要解析的域名點「解析」,進入解析頁面後選擇【添加解析】按鈕會彈出以下頁面:安全
主機記錄這裏選擇@,記錄值就是服務器ip地址,確認。服務器
在阿里雲控制檯-產品與服務-安全(雲盾)-CA證書服務(數據安全),點擊購買證書,session
選擇「免費版DV SSL」,點擊當即購買:阿里雲
而後點去支付:spa
最後確認支付:3d
就會回到管理界面:rest
點擊「補全」,輸入要解析的域名,點下一步:
說明:由於咱們這裏申請的是開發版免費證書,因此一個證書僅支持一個域名認證,不支持通配符。
等待幾分鐘,證書狀態變爲「已簽發」後,證書就申請成功了。
列表中找到已簽發的證書,下載:
進入下載頁面,找到ngin頁籤中nginx配置信息,並「下載證書 for Nginx」:
記錄如下內容,爲了一下子配置nginx用:
下載的文件有兩個:
1,214292799730473.pem
2,214292799730473.key
登陸到服務器:
$ apt-get update // 更新軟件 $ apt-get install nginx // 安裝nginx
1,nginx的安裝目錄爲:/etc/nginx/。進入目錄,增長cert/文件夾,把剛剛下載的兩個文件上傳到cert/文件夾中。
2,在/etc/nginx/sites-enabled/下,增長bjubi.com文件。內容以下:
說明:下面的配置是對443端口和80端口進行監聽,443端口要啓用ssl。監聽443端口的server配置能夠仿照上面ca認證頁面的nginx配置示例進行配置。
root節點筆者建立了一個bjubi.com/的文件夾,專門存放來自這個域名的請求以示區分。
bjubi.com/文件夾下增長一個index.html文件,裏面僅僅寫了一行<h1>welcome。
server { listen 443; server_name bjubi.com; // 你的域名 ssl on; root /var/www/bjubi.com; // 前臺文件存放文件夾,可改爲別的 index index.html index.htm;// 上面配置的文件夾裏面的index.html ssl_certificate cert/214292799730473.pem;// 改爲你的證書的名字 ssl_certificate_key cert/214292799730473.key;// 你的證書的名字 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { index index.html index.htm; } } server { listen 80; server_name bjubi.com;// 你的域名 rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名請求轉成https }
配置完成後,檢查一下nginx配置文件是否可用,有successful表示可用。
$ nginx -t // 檢查nginx配置文件
配置正確後,從新加載配置文件使配置生效:
$ nginx -s reload // 使配置生效
至此,nginx的https訪問就完成了,而且經過rewrite方式把全部http請求也轉成了https請求,更加安全。
如需重啓nginx,用如下命令:
$ service nginx stop // 中止 $ service nginx start // 啓動 $ service nginx restart // 重啓
輸入http:bjubi.com也會自動跳轉至https頁面。
說明:若是是雲服務器好比阿里雲ECS,須要到阿里雲ECS的管理後臺的安全組,修改端口過濾規則把80端口和443端口開放才能訪問到。