2017-02-25 4 views
0

방금 ​​https 인증서를 설치했고 리디렉션을 설정하는 데 어려움이 있습니다.
IIS (7.5)에서 HTTP 리디렉션을 사용해 보았지만 초기 로그인 페이지를 통과하면 IE와 FF 및 Chrome에서 작동하지 못하고 "너무 많은 리디렉션"오류가 발생합니다.
또한 URL 재 작성을 시도했지만 HTTP 리디렉션으로 되돌아가 총 오류가 발생했습니다.HTTPS가 작동하지 않는 폴더로 리디렉션

사용자는 "http://example.com/internal"을 사용하여 사이트에 액세스하는 데 사용됩니다. 이제 이것을 "https://internal.example.com/internal"으로 리디렉션하고 작동시킬 수 없습니다. 가능하다면 URL에서 마지막 "내부"를 사용하지 않는 편이 낫습니다 (CSR을 요청할 때 사용한 공통 이름은 internal.example.com 임).

HTTP 리디렉션에서 "이 대상으로의 리디렉션 요청"을 "https://internal.example.com/internal/default.aspx"으로 설정하고 "리디렉션 동작"을 "이 디렉터리의 콘텐츠로만 요청 리디렉션"으로 상태 코드 301 (영구)으로 설정합니다.

웹 사이트에는 .Net 응용 프로그램 파일이 들어 있고 양식 인증이 필요한 "내부"폴더가 있습니다. 루트 폴더의 파일은 모두에게 열려 있습니다 (예 : www.example.com은 모두에게 열려 있습니다).

설정을 제공 할 수있는 도움이 필요하시면 크게 감사드립니다.

업데이트

내가 Web.config를 업데이트하고 있지만, 아직 확실히 거기에 일부 URL 재 작성 규칙을 추가했다.
IE에서 example.com/internal을 입력하면 https://internal.example.com으로 이동하지만 http://internal.example.com/internal으로 이동하지 않습니다.
Chrome에서는 https로 이동하지 않고 http로 유지되며 '안전하지 않음'을 표시합니다.

<rewrite> 
    <rules> 
     <rule name="Rewrite to internal" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions> 
       <add input="{HTTP_HOST}" pattern="^www.example.com$" /> 
      </conditions> 
      <action type="Redirect" url="{R:1}" /> 
     </rule> 
     <rule name="internal.example.com to sub folder internal" enabled="true" stopProcessing="true"> 
      <match url="(.*)" ignoreCase="true" /> 
      <conditions logicalGrouping="MatchAll"> 
       <add input="{HTTPS}" pattern="^OFF$" /> 
       <add input="{HTTP_HOST}" pattern="^internal\.example\.com$" ignoreCase="false" /> 
       <add input="{PATH_INFO}" pattern="^/internal($|/)" negate="true" /> 
      </conditions> 
      <action type="Redirect" url="https://{HTTP_HOST}/" /> 
     </rule> 
    </rules> 
</rewrite> 

첫 번째 규칙은 http://example.com을 통과시키는 것입니다. 두 번째는 http://example.com/internalhttps://internal.example.com/internal으로 리디렉션하는 것입니다.

답변

0

IIS의 인증 애플릿을 확인하십시오. 익명 인증을 허용해야합니다.

+0

감사합니다. "기본 인증"을 "양식 인증"외에도 선택했으며 익명 인증을 활성화 할 수 없었습니다. 기본 기능을 비활성화하고 익명을 활성화했지만 변경 사항이 없습니다. 방금 web.config 수정에 대한 추가 정보로 질문을 업데이트했습니다. – NoBullMan

+0

Request.ServerVariables [ "SERVER_NAME"] 및 Request.ServerVariables [ "PATH_INFO"]가 내 조건을 충족하면 URL 재 작성 및 HTTP 리디렉션을 모두 삭제하고 Default.aspx.cs의 Page_Init에서 Response.Redirect를 사용하여 리디렉션 문을 추가하기로 결정했습니다. 리다이렉션. 모든 브라우저에서 정상적으로 작동합니다. – NoBullMan

+0

프로젝트에서 비슷한 설정을했는데 익명 인증 설정을 해제하고 다른 모든 인증을 비활성화 한 다음 모든 포트 80 트래픽을 웹 사이트 설정 재 작성을 사용하여 443으로 리디렉션했습니다. –