基於阿里雲搭建微信小程式伺服器(HTTPS)

zarknight發表於2016-11-08

本來是想寫基於騰訊雲搭建微信小程式伺服器的,可惜騰訊雲讓我有點不好的體驗,所以就先放棄使用騰訊雲了。所以轉而在阿里雲上註冊了域名和購買了雲伺服器ECS。

ECS的配置是彈性的,可以根據自己的需要來選擇合理的配置,如果你是個初學者為了學習用的話,一開始選擇最低配置就行了。

ECS配置選購介面

因為在小程式的生產環境中,為了安全考慮,呼叫伺服器的REST API或WebSocket的話,伺服器必須提供安全的連結地址(如https://mydomain/myservice, wss://mydomian),即需要使用SSL。所以我們需要為我們的伺服器購買CA證書和域名。

在阿里雲上註冊域名還是很方便的,可以到https://wanwang.aliyun.com這個頁面去註冊一個。而CA證書,很多國內外機構都提供證書籤發認證,國內的比如沃通,國外的如Symantec,這個證書還是有點貴的,根據證書的不同功能,價格也是相差很大,最便宜的也要好幾百一年。現在也有免費的證書可以使用,比如Let`s Encrypt。不過,阿里雲上也提供了免費的證書,申請起來很方便,我們就來看看怎麼申請阿里雲裡的免費證書。

從阿里雲的頁面頂部選單“產品與服務”裡面,可以看到“CA證書服務”:

CA證書服務選單

進入頁面後,點選頁面右上角的“購買證書”按鈕,進入證書選擇介面:

證書選擇

在這裡可以選擇“免費型DV SSL”證書,這種證書購買一個證書只能對一個明細域名生效,也就是說如果你有幾個子域名,如blog.mydomain.com, www.mydomain.com, shop.mydomain.com的話,你分別需要購買3個證書。購買完成後,可以在你購買的訂單列表裡,點選“補全”資訊,輸入要繫結這個證書的域名,以及你的個人詳細資訊等等,提交給簽發機構稽核,稽核完成後,你之前填寫的郵箱裡也會收到一封如何設定的郵件(這個郵件主要是給域名不是在阿里雲註冊的使用者的設定指南,如果域名在阿里雲註冊,則會自動對你的域名新增解析記錄,不需要你手動去新增)。

然後,請在訂單列表中,點選“下載”證書檔案的按鈕,下載證書檔案,裡面包含了一些對於不同http server用的證書,如apache, nginx, IIS等,它們用於配置你伺服器上安裝的http server。

我在ECS上安裝的是CentOS,通過yum安裝nginx:

yum install nginx

然後把伺服器證書上傳到伺服器上,接著配置nginx.conf檔案(改配置檔案在/etc/nginx目錄下),使其支援https的url訪問:

    server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  _;

        root         /usr/share/nginx/html;

        ssl on;
        ssl_certificate "xxxxxx.pem";  #你的證書檔案中的pem檔案
        ssl_certificate_key "xxxxxx.key"; #你的證書檔案中的key檔案
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;

        include /etc/nginx/default.d/*.conf;

        location / {
        }
    }

這樣,你的http server就配置好了。接著,阿里雲的域名解析控制檯中,為你的域名新增一條A解析記錄,將你的域名指向你的ECS伺服器的公網IP地址,就行了。

然後,你就可以使用https開頭的url來訪問你的http服務啦!這只是一個簡單的開始,還有很多伺服器端開發和配置的東西在等著你!

如果在配置的過程中有什麼問題,可以和我交流哦。謝謝大家閱讀本文,不對之處不吝賜教和指正啊~~


相關文章