一、首先,我們要將API發布到IIS,不脫機工作。但是這里會有問題,調用接口時,會返回
也就是說,我們需要配置SSL。接下來我們就來詳細說明。
二、域名商提供SSL證書審核。
我的域名提供商是騰訊,直接百度如任何申請SSL證書就好。可以是免費的,我申請的是1年的免費SSL。
申請審核的時間大致是1個工作日,我的是4小時。成功后返回的是短信或者郵箱。
三、下載證書。
登錄騰訊雲,下載。
四、使用
下載之后解壓,里面有很多不同的文件。我們是發布到IIS,所以選擇IIS的文件。里面有證書文件和密碼,待會兒我們會用到。如果是其他的平台,請對應選擇哈。
五、配置。
1、打開IIS管理器 → 點擊左側列表最頂級的IIS服務器名 → 雙擊右側功能視圖的“服務器證書”進入服務器證書配置頁。
2、在服務器證書配置頁中,點擊右側操作列表的“導入”,打開“導入證書”對話框,在此對話框中選擇相應的pfx格式的證書文件並輸入其密碼,點擊“確定”按鈕將pfx證書添加到IIS中。
3、右擊需要支持https訪問的網站名稱 → 右鍵點擊“編輯綁定” → 打開“網站綁定”對話框。
默認端口443,也可以選其他端口。
參數設置如下:
類型:選擇https;
端口:可以默認為443,也可以設置其它未被占用的端口;
SSL證書:選擇在第2個步驟中添加的pfx證書;
以上設置完成后,點擊“確定”按鈕完成綁定。
4、在網站的功能視圖中的IIS項里,有一項是“SSL設置”,雙擊此項進入SSL設置頁,如果勾選“要求SSL”,則訪問此網站必須是https模式,反之,也可以使用http模式訪問此網站。
5、SSL訪問
6、外網通過域名直接訪問
注意:如果公網IP不能正常訪問,則檢查雲服務器安全組,是否配置出入站規則的端口,如果IP能訪問,但是域名無法訪問,請檢查域名解析在雲服務器中的DNS是否異常。之前就是因為我更換了雲服務器,導致主機變更,DNS解析錯誤。重新編輯為新的主機即可。
7、修改后前端ajax還需要注意,因為接口從http升級為https后,ajax請求有變化,容易出現以下錯誤。
解決辦法有兩種:
一、在需要的html頭部添加這個代碼,自動升級http為https請求

<!--將http請求自動升級為https請求--> <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
二、
在我們服務器的響應頭中加入:
header("Content-Security-Policy: upgrade-insecure-requests");