域名設定
Last updated
Last updated
致電godaddy後他們的客服都不太能解決問題,一開始我看網路上教導說使用AWS Route53服務,但注意,此不包含在Free tire 需另外收費,但還是稍微講解route53的dns設定,當初參考此篇https://www.quora.com/How-do-I-route-my-GoDaddy-domain-name-to-my-Amazon-EC2-web-server的第一個回答,但他的回答還少了兩點,就是還要再route53加上兩筆A record 指向你的example.com和www.example.com,才算完成.
但要如何用免費的EC2不用route53指向我們在godaddy買的網域呢?
因為一開始EC2給你的都是浮動的IP也就是你把機器重開後IP位置就會改變,所以我們要先申請Elastic IP,一樣在EC2的console那可申請,之後你的EC2的ssh與public ip會自動改為你新申請好的Elastic IP之後再到Godaddy點選域名伺服器,但注意要選使用預設名稱伺服器
,之後會發現上面多出一個框框
之前一直很納悶為什麼都沒有出現這個,直到我把域名伺服器
選項從自訂改為預設後才出現,之後就把A記錄改為你的EC2 IP 然後再把CNAME 的 WWW改為 你的域名即可,
即為@
有時找不到設定的頁面,因為你的域名伺服器改過,這時要聯繫客服
(2017/2/14) 先點擊右上帳號的我的產品=>往下拉到網域部分,點擊管理,然後點擊網域名稱
之後點擊DNS區域檔案(如果沒出現請聯繫客服)
接著新增把A紀錄的IP更改為EC2的即可
域名伺服器不用更改
類似 info.domain.com
在域名前加上其他名字
可設定類似如下
雖然有些教學網站說要設CNAME但在此設定一個A紀錄即可 因為cname是給轉址DNS(http....)之類的非ip使用
如果同個 ip 有多個 subdomain 則在 A 紀錄名稱取名 subdomain 名稱,之後都指向同個 ip 然後 nginx server name 再設定即可
nginx.conf
額外補充:如果要快速幫每個 subdomain 加上 https 只要使用 certbot 即可。安裝好後執行:
sudo certbot --nginx
進入互動式指令,選擇 subdomain 即可。
讓使用者輸入class.sakatu.com 可轉址到easonwang01.github.io
在DNS provider(ex:godaddy) 設定
接著記得到你的github pages設定轉址位址
如果在<Username.github.io>的repo下設定網域一般來說後面加上/repo就會跑到那個repo page,但如果你的那個repo也有設好custom domain則它會自動幫你轉換url
如果想要使用自訂的subdomain加上https服務呢
注意:如果想把gh-page之pages對應不同domain或subdomain比較不可行
因為CNAME的設定只可以放domain不可加上/
但gh-pages對應到domain後一定會自動加上/
,所以造成找不到頁面
而只在和對應使用者名稱的github pages加上domain名稱的話其他gh-pages repo會自動讓轉址後的domain對應/
ex:sakatu.com/class
1.開啟devtool disable cache 然後開著devtool再到該網站即可
2.在網址後加上//
即可
ex:
會返回 domain 指向的 IP address,與 recursive name server不同的地方為他是已經寫好什麼 domain 對應什麼 IP,不用去問其他 DNS server。