2

アプリを実行しているとしましょう

sakana.herokuapp.com

私はドメインwww.fishywebsites.comを所有しています

fishywebsitesのDNSCNAMEsakana.herokuapp.comを指すように指定た場合、Webサイトを正常にレンダリングするにはそれで十分ではないでしょうか。

何をしていますか

heroku domains:add www.fishywebsites.com

実際に?

4

2 に答える 2

3

Herokuのルーティングメッシュは、着信HTTPリクエストを受け入れ、dynoグリッド内を移動するときに適切なアプリケーションに送信します。Host:これを行うには、ブラウザのアドレスバーのドメイン名に対応するHTTPヘッダーに依存します。

*.herokuapp.comHerokuには、ルーティングメッシュにマップするワイルドカードDNSエントリがあります。このスペース内の任意の名前に接続できます(例: http: //0gtxygq7t0haalc4.herokuapp.com/)。その名前のアプリケーションはありません。ルーティングメッシュに接続します。ルーティングメッシュはHost:ヘッダーに基づいてルックアップを実行し、このリクエストをルーティングするための賢明な方法がないと判断します。

内訳:ブラウザは完全なURLを確認し、ドメイン名を引き出します。次に、DNSルックアップを実行します。

$ dig 0gtxygq7t0haalc4.herokuapp.com
; <<>> DiG 9.8.3-P1 <<>> 0gtxygq7t0haalc4.herokuapp.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38567
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;0gtxygq7t0haalc4.herokuapp.com.    IN  A

;; ANSWER SECTION:
0gtxygq7t0haalc4.herokuapp.com. 60 IN   A   23.21.103.189

;; Query time: 128 msec
;; SERVER: 2001:470:20::2#53(2001:470:20::2)
;; WHEN: Wed Dec  5 17:04:36 2012
;; MSG SIZE  rcvd: 64

これは、ブラウザに23.21.103.189に接続するように指示します。これをプロトコル()とペアリングすると、httpポート80でそのIPへのTCP接続が確立されます。DNSルックアップには完全に別個のサーバーセットが含まれているため、ルーティングメッシュはそれをどのように見つけたかを認識または気にしません。あなたがそれに接続しているということです。

次に、ブラウザは次のようなものを送信します。

GET / HTTP/1.1
Host: 0gtxygq7t0haalc4.herokuapp.com
...

これは、Herokuルーティングメッシュが必要なサイトを見つけるときです。

にCNAMEエントリを追加するfoo.bar.baz*.herokuapp.com、その名前をルーティングメッシュに接続することに成功します。ただし、heroku domains:add foo.bar.bazHerokuは、あなたがいるまで、どのアプリケーションがそれらのリクエストを受信する必要があるかを知りません。それは表示Host: foo.bar.bazされ、どのアプリケーションが関与しているかはわかりません。DNSルックアップはHTTPの下のレイヤーで動作し、アプリケーションをルーティングするには両方が必要です。

于 2012-12-05T23:10:15.970 に答える
0
heroku domains:add www.fishywebsites.com

www.fishywebsites.comに送信されるすべてのリクエストは、アプリケーション(この場合はsakanaアプリケーション)にルーティングする必要があることをherokuに通知します。

残念ながら、www.fishywebsites.comをherokuにポイントするだけでは不十分です。アプリケーションには任意の名前を付けることができ、ドメインはアプリの名前を計算する必要がないこと、そしておそらくherokuがどこを推測するよりも、ユーザー設定に基づいてDNSとルーティングシステムを更新する方が速いことを覚えておいてください。各リクエストをリダイレクトします。

とにかく、ドメインをherokuに追加するのに、1分以上かかることはなく、大したことではありません。

于 2012-12-05T23:07:12.747 に答える