2016-09-07 3 views
17

내 web.config 파일에 위치 요소를 추가해야하지만 경로가 점으로 시작됩니다 (경로를 변경할 수 있다고 생각하지 않습니다. letsencrypt 자동화를위한 것입니다).).web.config에서 점이있는 경로 <location>

도트를 <location path=".well-known/acme-challenge"></location>처럼 들여 보내면 사이트가 전혀 시작되지 않습니다. customErrors를 구성하라는 페이지가 표시되기 때문에 web.config 파일이 전혀 구문 분석되지 않는 것 같지만 이미 사용 중입니다. 구성 및 일반적으로 잘 작동)

<location path="well-known/acme-challenge"></location>에서와 같이 점을 제거하면 web.config 파일이 올바르게로드되지만 원하는 위치에서 구성하는 데 도움이되지 않습니다.

최종 목표는이 경로에서만 기본 인증 (사이트의 나머지 부분에 필요한)을 사용하지 않도록 설정하는 것입니다. 이 부분을 <location> 요소로 설정할 수 있는지 여부는 알지 못합니다.

+0

전체 사이트에서 기본 인증을 제거하여 (최종 인증 시스템이 구현 될 때까지 일시적이었습니다.) 문제를 "해결"했습니다. 그래도 다른 솔루션이 있는지 알고 싶습니다. – youen

+3

도트 폴더 (.well-known) 폴더 내에 별도의 web.config를 만들 수 있습니다. –

+0

두 번째 Ondrej의 제안입니다. 이 점은 위치에 대해 금지 된 시작 문자이지만 효과적인 해결 방법으로 구성 파일을 폴더에 드롭 할 수 있습니다. –

답변

8

모든 페이지에서 인증을 요구하는 ASP.NET Forms 사이트를 가지고있는 것과 비슷한 문제가있었습니다.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <!-- This will stop any redirects you have at the higher level --> 
    <httpRedirect enabled="false" /> 

    <!-- This will stop any integrated mode settings you have at the higher level --> 
    <validation validateIntegratedModeConfiguration="false"/> 
    </system.webServer> 

    <!-- This will allow unauthenticated users to acme-challenge subfolder --> 
    <location path="acme-challenge"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 

:

허용 대답에 확장하려면, 여기에 내가 /.well-known 폴더에 넣어 정확한 Web.config의 (안 /.well-known/acme-challenge 폴더)입니다 이 파일을 추가 한 후 EcdsaAcmeNet을 사용하여 IIS의 사이트에서 Encrypt를 사용할 수있었습니다.

3

의견에서 Ondrej Svedjdar가 제안한대로 솔루션은 너무 간단해서 생각하지 않았습니다.

필요한 폴더에 다른 web.config 파일을 추가하기 만하면됩니다.