0

これは Server Fault によるものだと言うかもしれませんが、私はこれをシステム管理者ではなく開発者の観点から尋ねています。さまざまな結果が得られ、コードのどこが壊れているかがわかります。私はシステム管理者ではありませんが、他の開発者 (IIS サーバー管理者のいない小さな会社の開発者) が同じ問題に苦しんでいる可能性があると感じています。SF で同様の質問をしましたが、実際には私の問題とは関係ありません。

開発者として、私はローカル ネットワーク上の複数の個人が使用する IIS/ASP 開発サーバーをすばやく簡単にセットアップする方法を見つけるのに非常に苦労しています。全体的なアイデアは、これをライブマシンに置かないことです。それは私たちのデスクの 1 つで実行されている小さなラップトップです。

これは簡単だろうと思いました。私が最初にしたことは、1) IP アドレスを修正し、2) さまざまな開発サイトのバインディングを編集して、2020 などのさまざまなポートで 10.0.1.115 にすることでした。

これでしばらくは問題なく動作したようです。コード化、コード化、コード化...しかし、私の C# ページがより複雑になり、応答が大きくなるにつれて応答時間が長くなるにつれて、奇妙な奇妙なことが起こり始めました。 いくつかの症状:

1) Fiddler で理由もなく、10.0.1.75 のような間違った IP アドレスへの無関係な要求が表示されます。そして、ブラウザの UI をブロックして、何度も再試行します。すべてのコード、すべてのホスト ファイルを検索しましたが、この IP を参照するものはどこにもありませんでした。このリクエストはブラウザをハングアップさせたようで、「10.0.1.75を待っていて、フィドラーで元のリクエストが完了し、リンクされたCSSファイルを実際にダウンロードしたにもかかわらず、ブラウザがスピンしました!!! WTF?

2) 応答時間が遅い。一部のページで非常に遅い。全国の本番サーバーに投げると、10倍速くロードされます.

3) 本当に奇妙なこと:

   // C#:

   // I can see this before the odd request gets made! weird, right?
   Response.Write("hello"); 

   // then after see "hello", fiddler says request is made to some stupid unrelated ip    

   Response.Write(strOutput);
   // then I never see this output string (a bunch of HTML) rendered in the browser
   // it just spins on "hello" page asking for the wrong IP address in the gray status bar
   // BUT it shows up as proper HTML in fiddler, and also downloads all the CSS
   // that was referenced to by the HTML      

私が言ったように、これを適切なドメインを持つサイトに展開することができ、本質的にまったく同じ webconfig を使用してすべて正常に動作します!

別のサイトでも同様の奇妙な/遅い動作が発生しますが、これは本番環境でも正常に動作します(コードのスタイルは完全に異なります)。

はい、いくつかのマシンでプロキシの有無にかかわらずこれを試しました。

シンプル (短い C# ページは問題なく動作します)。

これを掘り下げるのに永遠にかかりましたが、ここには本当の答えはありません: https://serverfault.com/questions/216093/site-loads-very-slow-if-i-use-ip-and-works-normal-when-i -use-domain-name-why

これが反対票を投じられて、あなたが私を馬鹿だと呼んでもかまいません。私はこれで6時間壁に頭をぶつけてきました.

IPアドレスを使用すべきではありませんか? 固定 IP を使用する代わりに、独自の DNS を設定する必要がありますか? ネットワークを台無しにして、ランダムに DNS をセットアップしたくありません...うーん。

アップデート

それで、それはホストのものかもしれませんか?同じ開発サーバー上の別のアプリを調べたところ、HTML リンク ファイルの 302 リダイレクトが正しくない IP に送られていました。しかし、10.0.1.75/somejsfile.js を期待するのではなく、10.0.1.75 のように、ファイル名全体ではなくルートだけです。私のコードのどこにもこれはありません...固定IPの使用について何か奇妙なことはありますか?

DOMが完全に構築されていないため、これはページがレンダリングされない理由を説明しています...

4

2 に答える 2

1

別のポートを使用することは気にしません。DNS サーバーに *.dev.mycompany.com のエントリを追加して、目的の IP をポイントします。DNS をいじりたくない場合は、C:/Windows/System32/Drivers/Etc/Hosts ファイルの hosts ファイルを変更して、関心のある各開発 Web サイトにアクセスできない場合はエントリを追加します。 DNS サーバー。このルートに進む場合は、各開発マシンでこれを行う必要があります。参考までに、メモ帳を管理者として開き、ファイルを開き、Vista の権限の問題を上向きに保存します。

開発マシンの IIS 設定で、website1.dev.mycompany.com、website2.dev.mycompany.com を各適切な Web サイトのバインディングに追加します。

次に、本番環境の準備が整ったら、website1.dev.mycompnay.com を website1.mycompany.com に変更します。DNS は website1.mycompnay.com を処理する必要があります。DNS またはホスト ファイルを使用して、website1.dev.mycompany.com を特定できます。これは、制限や処理方法によって異なります。

つまり、コード内のどこでも IP やポートに依存しません。すべてが DNS 解決を使用しています。それは、解決策がどこで発生するかによって異なります...会社のDNSサーバー上...またはホストファイルを使用する各開発マシン上です。

私は比較的小さな会社で働いています。どちらかが機能します。DNS は、各開発マシンで変更する必要がないため最も柔軟ですが、Web サイトで作業している開発者が 1 ~ 3 人しかいない場合は、ホスト ファイル方式を使用しました。

悲しいことに、実稼働 SQL Server のホスト ファイルを使用してネットワーク外のリンク サーバーにアクセスし、レプリケーションに必要な特定の名前を付けることができました。おそらく MS サポートではサポートされていませんが、動作します。

于 2012-05-02T04:18:16.947 に答える
0

ファイアウォールまたはプロキシ構成をチェックすると、問題の原因が明らかになる可能性があります。

于 2012-05-02T03:23:00.077 に答える