heroku信用卡驗證
關於Heroku的信用卡驗證已經困擾我許久,
大家都知道的,Heroku Free Dyno沒有信用卡驗證是每個月550小時,
什麼Add-on、有的沒有的功能都不能用
緣起
其實我認為,550小時真的夠用了,又不是什麼大型網站,
550除以30天,等於是每天都至少有18小時能用,
真的是很夠用,
免費版本每隔半小時會休眠一次,不過這也不打緊,
就說不是那種24小時都要在線的網站了,
我網站可能一天使用還不超過5小時= =
不過這都不是我想去開通信用卡認證的理由,
而是如果要使用自訂網域的話,就必須得通過信用卡認證,
自訂網域真的很重要,不是我在說
網址上那個herokuapp真的不太好看,還是開個自訂網域比較好
所以仍要驗證信用卡
經過
經嘗試過,郵局的VISA卡是過不了的,
不過官網明明說可以支援debait card,這就很弔詭了
於是在萬能的淘寶上找了一下,
之前有個7R就能幫認證的商品被下架了,
只有剩幾個賣家關門在驗證AWS的,找了幾個問一問,
後來問到有個說30R幫我開,這TM也太坑,
驗證信用卡也就刷卡1美元而已,收我30R到底三小。。。
上hostloc看了一下,因為沒帳號也沒辦法看到某些文,
爬了很久還是沒解決方法,
後來又爬了一些虛擬信用卡的文,每一篇的申請門檻都超級高,
也打消了這個念頭,因為實在不想花30R去認證= =
到了昨天終於忍不住了,Wechat詢問30R的賣家,
說是可以提供虛擬信用卡的住址,可以驗證美區Paypal
不過Heroku能不能過他也不知道,而且這卡買了也不能退
不過既然都這樣了,想說試試看也好,
大不了不能驗證就搞個美區PP也不錯,沒想到最後還真的能驗證。。。
設定
設定過程沒啥難的,幸好之前就把DNS server轉到cloudflare上,
速度真D快,加上去之後馬上就好了
不過Heroku免費方案的自訂域名沒有附SSL,所以推薦免費的cloudflare證書
這邊有兩個選擇
- cloudflare cname對應到heroku提供帶有herokudns的網址
- cloudflare cname對應到heroku原本的herokuapp網址
如果使用plan 1,就必須在heroku上添加自有的SSL,或是由Heroku提供SSL,
才可以在cloudflare選擇Full Encryption(後面會提),不然只能用Flexible,
眾所皆知heroku付費方案真的超貴
如果使用plan 2,則可以在cloudflare上選擇full encryption
所以我選2,
Heroku添加完域名後,再到cloudflare添加CNAME指向herokuapp那個網址,
DNS要選proxied,這樣才可以使用cloudflare提供的免費SSL證書,
SSL選擇Full就行,頁面就完成加密了
Full vs Flexible
由cloudflare的兩張圖我們可以知道:
Full Encryption:
Cloudflare 到使用者的連線會經由Cloudflare加密
Cloudflare連線到Origin server則會經由Origin Server加密
而herokuapp這個網域本身的連線就有自帶Heroku的SSL了,
所以CNAME對應到herokuapp這個網域可以實現Full Encryption
Flexible:
Cloudflare 到使用者的連線會經由Cloudflare加密
Cloudflare連線到Origin server不會加密
因為herokudns那個網址並沒有自帶SSL,所以如果CNAME要對應herokudns那個domain的話
就代表cloudflare與origin server之間無法加密,
所以就是flexible的情境,
如果CNAME對應herokudns後,在這邊設為Full的話
因為cloudflare無法與origin server建立加密連接的關係
瀏覽網站時,cloudflare會返回一個SSL錯誤
結語
如果之後有辦法申請VCC的話,一定要去申請
還聽說有無限開卡的平台,這個一定要給他薅到爆
開個100張信用卡,每年薅一次GCP的羊毛,
功能還比這種PaaS還多。。。
雖然用PaaS我不用在設定環境了啦,不過老子也能用docker阿= =