ブートストラップを使用するASP.NET 4アプリケーション用にWindows 2008 ServerでIIS 7を使用しています。サーバーには仕事で使用するプライベートIPアドレスがありますが、外部からパブリックIPアドレスを介してアクセスすることもできます。インターネットアクセスプロバイダーが転送を実行します。サーバーはF-Secureアンチウイルスシステムも実行しています。
プライベートIPまたはパブリックIPのいずれかを使用して、サーバー自体からWebサイトを参照すると、正常に動作します。しかし、(明らかにパブリックIPを使用して)リモートクライアントを使用すると、ランダムに動作します。典型的なシナリオは次のようになります:
などなど。それは明らかにランダムです。サーバーがページを返すこともあれば、INET_E_RESOURCE_NOT_FOUNDエラーを受け取ることもあります。 Windows 10マシンのEdgeからiPhoneのSafariまで、私が試したすべてのクライアントで発生します。
また、クライアントコンピュータからホームページを最初に参照したときに、サーバーがホームページの配信に失敗することもあります。私は何回か再試行して、無駄になりました。そして、おそらく5または10回の更新後に、ページが表示されます。その時点から、最終的には再び失敗するまで、問題なく動作します。
私が理解している限り、INET_E_RESOURCE_NOT_FOUNDは、ページが見つからなかったこと(つまり、404)を意味するのではなく、serverが見つからなかったことを意味します。通常、これはDNSまたはプロキシエラーに関連しています。
IISログファイルを見てきました。私の知る限り、ロギングは次のようなエントリで中断されることがあります。
GET /fonts/glyphicons-halflings-regular.woff - 80 - 193.144.38.100 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/52.0.2743.116+Safari/537.36+Edge/15.15063 404 3 50 78
どうやら、クライアントはフォントファイルを取得しようとしており、サーバーは404エラーを返します。フォントファイルはサーバーの正しいフォルダーにあるので、なぜそれが見つからないのかわかりません。
編集。フォントファイルの問題を修正しました(IISでのMIMEタイプエントリの欠落が原因でした)が、ランダムなINET_E_RESOURCE_NOT_FOUNDエラーが残っています。フォントファイルを含む404は、赤ニシンである可能性があります。
編集。この同じWebサイトに別の問題があり、関連している可能性があります。こちらをご覧ください: https://stackoverflow.com/questions/43814006/smtpexception-in-asp-net-application-with-remote-browser
何か案は?ありがとう。
ISPが転送を実行しているとのことですが、これは、ISPが内部IPにプロキシ/ポート転送しており、サーバーにはIPアドレスが1つしかないことを示しています(プライベートアドレスなど)。
これが当てはまる場合、プロキシサーバーがIISサーバーに接続する際にいくつかの理由で)問題があり、エラーを返しているようです。プロバイダーに依頼してルーター/ファイアウォールのログを確認して、これが当てはまるかどうかを確認してください。
このエラーがプロキシサーバーから返されるのではなく、ブラウザで直接発生する場合は、hostsファイル(%windir%\System32\drivers\etc\hosts
Windowsの場合。管理者として編集する必要があります)、ウェブサイトのパブリックIPアドレスをDNSエントリに関連付けます)。これを行ってパブリックWebサイトをテストしても同じエラーが発生する場合は、DNSの問題ではないため、プロキシサーバーの構成を確認できます。 (テスト後にエントリを削除することを忘れないでください!)
MIMEタイプが正しく設定されていないと思います。サーバー構成の一部として明示的に追加することをお勧めします。
他の人は以前にこの問題を抱えていました: https://stackoverflow.com/questions/4015816/why-is-font-face-throwing-a-404-error-on-woff-files
第一に。サーバーの更新は最新ですか?サーバーの.netのバージョンを確認し、最新の状態にしてください。
アプリが使用するすべてのポートがispに転送されていることを確認してください
また、これでサーバーログを確認してください https://gallery.technet.Microsoft.com/scriptcenter/Get-event-logs-errors-and-6871f16
最も頻繁に発生するエラーを確認し、関連しているかどうかを確認します。