2013-01-01 1 views
1

vs2012, .net 4.5, mvc4와 호환됩니다. 내 프로젝트에는 SSL 아래에있는 부분이 있습니다. IIS Express에서 프로젝트를 실행하고 있습니다. 프로젝트 속성에서 :IIS Express에서 SSL을 사용할 때 포트를 지정하는 방법은 무엇입니까?

>SSL Enabled: True 
>SSL Url: https://localhost:44300/ 
>URL: http://localhost:18000/ 

프로젝트가 제대로 실행됩니다. F5를 누르면 브라우저가 사이트와 함께 열리고 >http://localhost:18000/ 이고 모든 일반 (http) 페이지가 정상적으로 작동합니다. 당신이 SSL 보호 예를 들어 로그인 페이지로 링크를 명중하는 경우 하지만, ([RequireHttps] 컨트롤러에서), 그것은 정확하지

>https://localhost/Account/LogOn 

로 이동하려고 시도하고, 따라서 실패 (404) 당신은

>https://localhost:44300/Account/LogOn 

로그인 페이지가 제대로 작동을 수동으로 이동합니다. 질문 : https가 필요할 때 올바른 주소로 이동하는 방법? 이 같은 재 작성 태그

답변

1

구성하여 web.config 파일 : 위의 코드는 쉽게 IIS 패널에 의해 생성 될 수있다

<rewrite> 
    <rules> 
    <rule name="Secure Account Controller" enabled="true" stopProcessing="true"> 
     <match url="^account" ignoreCase="true"> 
     <conditions logicalGrouping="MatchAll" trackAllCaptures="true"> 
      <add input="{HTTPS}" pattern="off"/> 
      <add input="{HTTP_HOST}" pattern="([^/:]*?):[^/]*?"/> 
     </conditions> 
     <action type="Redirect" url="https://{c:1}:44300{URL}"/> 
     </match> 
    </rule> 
    </rules> 
</rewrite> 

.

+0

이것은''섹션에 추가되어야합니까? 코드를 복사하여 붙여 넣을 때 사이트를 실행하면 500.52 URL RewriteModule 오류 (인식 할 수없는 요소 '조건')가 발생합니다. 나는''이''태그 안에 중첩되어 있지 않다고 생각한다. – comecme

+0

또 다른 "문제"는 로그인 페이지의 링크 중 하나를 클릭하면 계속해서 https를 사용한다는 것입니다. 어쩌면 이것은 표준적인 동작이지만 계정 컨트롤러의보기에만 https를 사용하고 싶습니다. – comecme

+0

예. 에 넣으십시오. 또한 SSL을 통해 URL 컨텐츠와 컨트롤러 조치를 준비해야합니다. foreach 컨트롤러 작업을 수행하려면 ssl put [RequireHttps] 문이 필요합니다. –

관련 문제