簡體   English   中英

將 PointDNS 用於非 www 並處理 SSL

[英]Using PointDNS for non-www and handling SSL

我一直在使用 Heroku 來托管我的應用程序 (www.justbooked.com),godaddy 是存儲域的地方。 出於某種原因,最近非 www 版本(例如 justbooked.com)不再有效。

GoDaddy 似乎沒有為根級域 (example.com) 提供 ANAME / ALIAS 或其他 CNAME 樣式的功能。

我想知道如何讓 justbooked.com 像 www.justbooked.com 一樣工作。 Godaddy 是否可以通過其他方式實現這一點? 請記住,我有 SSL 證書等...

如果 GoDaddy 無法做到這一點,那么使用 PointDNS 之類的東西可能會起作用,但我仍然不確定如何使用我現有的 SSL 證書配置 PointDNS。

這里的任何幫助都會很棒,目標是讓 justbooked.com(非 www)工作!!!

謝謝!

我想你的問題現在可能已經解決了,但為了幫助像你我這樣的人過去(4周前我遇到同樣的問題時發現了這個話題),我正在寫一個循序漸進的關於如何讓 PointDNS 在 HTTPS 上為 www 和非 www 域工作的教程。 在開始之前閱讀所有步驟,包括注釋。

  1. 通過 Heroku 的 UI 或使用 CLI 命令在您的項目中為 PointDNS 創建一個附加組件: heroku addons:create pointdns:developer
  2. 打開 Heroku 的 UI 並進入 PointDNS 儀表板。 查找“名稱服務器”選項卡並查看名稱服務器列表。 尋找最適合您的。
  3. 復制推薦數量的域名服務器(不多也不少),轉到您購買域名的地方(在您的情況下為 GoDaddy)並編輯 DNS 服務器以指向 PointDNS。 等待至少 2 小時以使這些更改生效。
  4. 通過 Heroku 的 UI 或使用 CLI 命令,將您的 www 和非 www 域添加到 Heroku 自定義域列表中: heroku domains:add justbooked.comheroku domains:add www.justbooked.com
  5. 復制每個域出現的兩個 DNS 目標(以.herokudns.com結尾的.herokudns.com )。 您可以通過 Heroku 的 UI 或使用 CLI 命令來檢查 DNS 目標: heroku domains
  6. 轉到 PointDNS 儀表板,為根域(非 www)添加 ALIAS 記錄,為 www 域添加 CNAME 記錄; 在每個目標上,添加您在上一步中復制的對應 DNS 目標。 也許這兩個域的記錄是在您添加 PointDNS 附加組件時自動創建的; 在這種情況下,只需編輯 DNS 目標。
  7. 再等待 1 小時,然后 Heroku 將使用 ACM(自動證書管理)為您自動設置 SSL 證書。 如果一切順利,您現在應該讓兩個域都使用 HTTPS 協議。

筆記:

  1. 如果您有 1 個以上的 Heroku 應用程序使用相同的 git 代碼庫,則需要在 Heroku CLI 命令中使用--app標志。
  2. 你說你有一個現有的 SSL 證書。 如果您想使用它而不是 ACM 提供的那個,您需要設置一個 SSL 端點。 為此,在第 4 步之前,使用 CLI 命令創建一個: heroku addons:create ssl:endpoint 之后,使用以下命令上傳您的證書: heroku certs:add server.crt server.key --type endpoint 在第 5 步中,使用heroku certs代替heroku domains命令。 在步驟 6 中使用端點 DNS 目標(以.ssl.herokudns.com結尾的.ssl.herokudns.com )。
  3. 設置域和 SSL 證書后,您可能還想將所有 HTTP 流量重定向到 HTTPS。 您只能通過將重定向邏輯編碼到您的應用程序中來做到這一點。 對於 Ruby on Rails,您需要在config/environments/production.rb或類似文件中使用config.force_ssl = true
  4. 您可能會看到很多教程使用.herokuapp.com鏈接而不是.herokudns.com作為.herokudns.com中的 DNS 目標。 這可能適用於 HTTP 流量,但您的 HTTPS 會話將失敗。 即使您只使用 HTTP(也許您使用的是免費托管計划),也請使用.herokudns.com ,因為稍后設置 HTTPS 會更容易。

參考:

  1. Heroku 開發中心:應用程序的自定義域名
  2. Heroku 開發中心:SSL 端點
  3. Heroku 幫助:Heroku 可以強制應用程序使用 SSL/TLS 嗎?
  4. Heroku 開發中心:PointDNS (有點過時,但可以作為一個很好的資源)

通過pointdns指向任何網站時,您可以使用兩種方式,一種是通過cname,另一種是使用pointDNS之類的服務。 如果您想在像 justbooked.com 這樣的裸域上專門運行 SSL,您需要在此處指向 DNS

PointDNS 配置非常簡單,因為您只需要將來自godaddy 的 dns 記錄添加到 pointDNS

對於 SSL ,您可以使用 ACM 或在 heroku 設置中添加您自己的證書。ACM 使用讓我們加密 SSL,它是免費的,但不允許通配符 SSL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM