about 1 year ago

很多第三方API服務都強迫使用合格的HTTPS連線,如Messenger Bot,但現階段又沒錢自己買憑證(一年兩千也齁不住...),所以改成套接Cloudflare免費的DNS與憑證簽發,這樣只需要花錢租Cloud Server與Domain Name即可。

Cloudflare
  1. 在使用Cloudflare之前,要記得先購買網域!Cloudflare僅提供DNS Nameserver服務而已,所以我先到Godaddy買一個一年一百塊的yuanchieh.info
  2. 接著到Cloudflare加入新的網域,並輸入域名yuanchieh.info,接著你會看到Cloudflare提供兩個DNS Nameserver的網址
    將這兩個貼回Godaddy網域底下的DNS Nameserver
  3. 再回到Cloudflare中設定DNS記錄,像是A、CNAME等紀錄,接著按下Recheck Nameserver,接著等一陣子就會看到網域狀態變成active(10分鐘內),這樣就完成第一部分了。
  4. 加入HTTPS 接著在Cloudflare網頁中,點選crypto,在Origin Certificates欄位點選Create Credential,這是由Cloudflare提供的免費憑證簽發,接著會有跳出頁面,複製Key與Cert到你的Server中,剩下就是部署HTTPS。 以下是我的Nginx部署,僅部署最基本的HTTPS與HTTP重導功能而已。
server{
          listen 80;
        listen 443;
                
        如果沒有註記掉,會發生400 
                # ssl on
        ssl_certificate         /home/ubuntu/app/cert.pem;
        ssl_certificate_key     /home/ubuntu/app/key.pem;

        root /home/ubuntu/app/public;

        server_name yuanchieh.info;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.

                proxy_pass http://localhost:3000;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_redirect off;
        }
}
← NodeJS串接Facebook - 粉絲專頁自動Po文與Messenger Bot NodeJS - 為什麼所有IO中只有fs提供同步API →
 
comments powered by Disqus