Windows Server 2012 R2 / IIS 8.5
私が持っている (ASP) アプリケーションではIIS > Sites > Default Website
、localhost URL にアクセスすると、ページが表示される代わりにファイルがダウンロードされます。
ファイルは にあり、このフォルダ内にはさまざまなファイル、フォルダ、および がC:\inetpub\wwwroot\rooms
あります。 の内容は次のとおりです。.dll
web.config
web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<handlers accessPolicy="Read, Execute, Script">
<remove name="ISAPI-dll" />
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\inetpub\wwwroot\rooms\rooms.dll" resourceType="File" requireAccess="Execute" allowPathInfo="true" preCondition="bitness32" />
</handlers>
<defaultDocument enabled="true">
<files>
<add value="rooms.dll" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
Default Document
IISで関連するファイルを設定しました.dll
。これは私が訪問したときにダウンロードされるものです。localhost/rooms
IIS サーバーとサイト自体を数回再起動しました。同じサーバーでホストされている他のサイトがあり、それらは期待どおりに動作しており、同様の URL からアクセスできます。また、さまざまなブラウザーも試しました。
Windows の機能と役割を確認したところ、ASP.NET 3.5
と がとして表示され、とも としてASP.NET 4.5
表示されていることが確認できました。(Installed)
ISAPI Extensions
ISAPI Filters
IIS や ASP の経験はほとんどありません。
- アプリケーションが表示されるのではなく、ダウンロードされるのはなぜですか?
- この問題のトラブルシューティングを始めるにはどうすればよいですか?
答え1
私たちの場合、それはバインディングの問題でした。IIS を開いて Web サイトを右クリックし、バインディング プロパティを確認すると、すべての名前とファイルの処理方法が一覧表示されます。
削除する必要のあるエントリが 2 つありました。
type host port binding
------------------------------------------------
net.msmq localhost*
msmq.formatname localhost*
残しておく必要のある残りのバインディングは次のとおりです。
type host port binding
------------------------------------------------
http 80
ホスト名が空白の場合、何にでも一致することを意味します。ただし、最初に localhost へのクエリをキャッチする 2 つのエントリがあったため、要求を http タイプとして処理することができませんでした。