윈도우 서버 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를 열고 웹 사이트를 마우스 오른쪽 버튼으로 클릭한 후 바인딩 속성을 보면 모든 이름과 파일 처리 방법이 나열됩니다.
삭제해야 할 두 가지 항목이 있습니다.
type host port binding
------------------------------------------------
net.msmq localhost*
msmq.formatname localhost*
유지해야 하는 나머지 바인딩은 다음과 같습니다.
type host port binding
------------------------------------------------
http 80
호스트 이름이 비어 있으면 무엇이든 일치한다는 의미입니다. 그러나 두 항목이 먼저 localhost에 대한 쿼리를 포착했기 때문에 요청을 http 유형으로 처리할 수 없었습니다.