1

ステージングサーバーで見逃されていたバグが本番サーバーにある理由を理解するために、一晩中過ごしました。そして今朝、私はついにそれを絞り込み、このコードに釘付けにしました。

url = [ database.protocol, '//' + database.host, database.port, ].join(':');
url = [ url, database.db ].join('/');

うん。いったいこれは実際にどのように機能するのでしょうか?さて、ステージングでそれは示しました:

http://:localhost:5984/fo

しかしマスターではそれは示した

http://:10.x.x.x:5984/fo (x is a number)

前者は機能しましたが、後者は機能しませんでした。これは、URLに関する私の知識が私を失敗させるところです。前者は一体どのように有効ですが、後者は無効ですか?

編集:

明確にするために、私は両方のURLが無効であるべきだと思います。これは、私のステージングサーバーでキャッチされるべきバグです。前者のURL(:localhost)が有効であると解釈される理由を知りたいのですが、後者は無効です。

4

1 に答える 1

0

localhostです(ほぼ常に)127.0.0.1127.0.0.1とは大きく異なり10.x.x.xます。

サーバーが でリッスンしている場合、localhostサーバー自体からの接続のみが受信されます。したがって、サーバーの IP を入力しても、外部からサーバーに接続するには十分ではありません。

サーバーがループバックではなく、ネットワーク IP でリッスンしていることを確認してください。

于 2012-04-25T02:30:41.027 に答える