配置HTTPS

2017年1月1日開始,蘋果要求所有iOS應用必須使用ATS(App Transport Security),即APP內連接必須使用安全的HTTPS。并不簡單是一個HTTPS協議,而且要滿足iOS9中新增特性。雖然目前已經無限期推遲了這個計劃,但該來的總會來的。

安全的HTTPS

安全的HTTPS主要包括以下幾點:
1、證書頒發機構的要求
2、傳輸協議的要求
3、簽字算法的要求
4、證書的哈希算法和秘鑰長度的要求
更詳細的關于這些要求的解釋可以在阿里云查看

證書申請

由于我的服務器、域名都在阿里云,所以使用了阿里云提供的證書服務

證書購買

1.選擇 購買證書 即可進入證書購買頁面。可以按照需求配置您的證書。這里我選擇了 免費型DV SSL 證書(畢竟不要錢) 這里選擇的品牌滿足了 [1、證書頒發機構 的要求]。推薦選擇Symantec/GeoTrust品牌的OV及以上證書。CFCA雖然是國產的,但是CFCA品牌只在最新的蘋果設備上才支持,不推薦CFCA品牌
2.購買完成夠并不意味著您的證書可以使用了,還需要提交審核,完善基本信息

簽發SSL證書

1.購買證書完成后,可以在 控制臺->安全(云盾)->證書服務 中找到您的訂單 選擇 “信息補全”

fillinfoentry.jpg

2.根據您的需求補全您的信息,最后提交審核即可。更詳細的流程您可以去這里查看。在這個過程中可以選擇系統創建CSR方式,它的秘鑰是2048為的RSA加密算法,并且阿里云提供的證書品牌中是哈希算法都是SHA256或者更高強度的算法 滿足了 [4、證書的哈希算法和秘鑰長度的要求]

下載簽發的證書

1.等待審核通過后選擇下載,進入下載頁面。根據服務器類型選擇不同的下載證書,這里我選擇了Nginx環境下的證書下載。下載到本地后解壓會發現里面有兩個文件分別是.key和.pem文件,它們就是我們的最終證書。


2147BC03-1013-430F-9CC5-B86CCAD8ECFD.png

2.上傳.key和.pem文件到服務器的任意目錄下。記一下它們的路徑,待會會用到。

屏幕快照 2016-12-28 下午12.36.51.png

3.一個完整可用的證書就制作好了,下面就是配置您的服務器了

Nginx服務器配置

1.需要檢查Nginx的SSL模塊是否安裝。在nginx/sbin 文件夾下運行

nginx -v 
configure arguments中存在 --with-http_ssl_module 說明SSL模塊以及安裝
屏幕快照 2016-12-28 下午1.07.23.png

1.進入到您要配置的域名的conf文件中。

cd /usr/local/nginx/conf/vhost/
vi api.conf

2.修改您的nginx配置文件

8B809940-9F4E-44A8-A128-A1A0A1018158.png

2.1 將listen 80;修改成監聽443端口
2.2 加入2號框中的配置

  ssl on;
  ssl_certificate /usr/local/nginx/conf/ssl/apissl/213985405980765.pem;            #上傳的證書pem文件
  ssl_certificate_key /usr/local/nginx/conf/ssl/apissl/213985405980765.key;      # 上傳的證書key文件
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;                 #設置傳輸協議 蘋果要求必須滿足 TLSv1.2  這里滿足了  [2.傳輸協議的要求]
  ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;   # 簽字算法 [3.簽字算法的要求] 
  ssl_prefer_server_ciphers on;

2.3 為了解決修改為https后http無法訪問的問題可以加入 3號框 中的代碼 將http重定向到https
3.重啟nginx服務器 查看端口狀態

lnmp restart nginx     //重啟nginx 不同的系統請選擇不同的重啟方式
netstat -lntup|grep 443 //查看443端口狀態

查看效果

1.打開瀏覽器輸入 http://api.eastwu.cn 或者 https://api.eastwu.cn 查看查看是否能夠正確訪問

1BC8252D-232F-4E92-93EA-C4BAB9E7E67D.png

2.檢查是否滿足ATS可以使用MAC自帶的命令

nscurl --ats-diagnostics --verbose https://api.eastwu.cn
屏幕快照 2016-12-28 下午1.04.24.png

檢查全部通過,說明HTTPS配置成功了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 編譯自:[configuring_https_servers][1][1]: http://nginx.org/e...
    C86guli閱讀 2,690評論 2 6
  • 前言 最近幾年各大主流網站對HTTPS支持的越來越完善,之前很多網站只有關鍵的登錄、下單等操作頁面支持HTTPS,...
    君淋天下閱讀 2,044評論 0 5
  • 細心的讀者已經發現博主的博客已經變為https,谷歌從 2017 年起,Chrome 瀏覽器將也會把采用 HTTP...
    GQ1994閱讀 1,281評論 0 2
  • 感賞自己不是那么執著于不屬于自己的東西!感賞自己一直清醒楓哥哥才是我現最值得擁有的陪伴! 感賞自己楓哥哥的晚自習話...
    我是我的天涯閱讀 175評論 0 2