본문 바로가기
Developer/Windows Server

SameSite=None; Secure 설정 / Windows Server 2012 R2 IIS 8.5 Classic ASP / Chrome 80 이슈 / 내용 수정

by MindOpener 2020. 8. 20.
반응형

추가 업데이트   - 2020-10-28

 

사이트 전체가 https 로 강제로 돌아야 하는거 같다. 

 

root에  아래 web.config 설정을 하면 적용된다.  

 

-- redirect to Https

 사이트 전체를 https 로 바꿔준다. 

 

--AddSameSiteCookieFlag

asp session 쿠키에  sameSite 관련 업데이트 쳐준다. 

 

2개가 셋트로 잘 돌아가면 베스트  

 

단일 사이트는 아래 설정만으로 충분히 해결 될거 같다.  

 

 

<rewrite>
            <rules>
                 <!--rule name="redirect to Https" enabled="true" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
                </rule-->
            </rules>
            <!--outboundRules>
                <rule name="AddSameSiteCookieFlag">
                    <match serverVariable="RESPONSE_Set-Cookie" pattern="^(ASPSESSIONID)(.*)$" />
                    <action type="Rewrite" value="{R:0};SameSite=none; Secure" />
                </rule>
            </outboundRules-->
</rewrite>

 

난 5 ~ 6개의 서브도메인 사이트가 같이 돌아야 해서  적용에 실패했다.  

결재만 놓고 보면 위처럼 적용하면 잘 된다. 

 

성공하시길.. 

 

다른 좋은 방법이 있으시면 공유좀 해주세요 ~~ 

 

 

 

////////////////////////////////  2020-09-01

PS :  아래 방법으로 해결 되지 않는다.  

 

여러가지 문제에 직면중이다.

 

일단 아래 설정은  web.config 가 루트에 있어야 한다. 

 

사이트 최초 접근시  sessionID 를 부여 받기 때문에   루트에 두어여 어떤 경로로 오던 SameSite=None; Secure  설정으로 부여가 된다. 

 

그런데.. 이렇게 했더니... 

 

크롬에서는 잘 되는것이....

 

IE 에서 정상 작동 되지 않는다.   웹페이지 일부가 버튼이 안먹는다던지.. 모바일 웹이  버벅인다던지 ,앱웹이 무한로딩에 빠진다는지... ㅠㅠ

 

일단 아래 방법으로  root 에  설정해서 해결해 보시고   IE에서 정상 작동 되면 그대로 사용하시면 되겟다. 

 

난 IE 해결 방안 모색중 ㅠㅠ 

 

 

--------------------------------------------------------------------

자료가 많지 않아서  기록을 남긴다. 

 

크롬 SameSite 이슈로   

 

windows Server 2012 R2  IIS 8.5 환경에서  Classic ASP  웹서비스 이니시스 결재부분에서 

 

session 이 날라가고 결재는 실패하고  로그인이 풀리는 3콤보를 당하는 일이 발생한다. 

IIS 가 net 환경에서 서비스 되서 
web.config  파일을 수정 하면 됩니다. 

 

수정은 즉시 적용되고 

처음 root 폴더에 수정한 파일을 넣어서 낭패를 당했다. 

결재부분 폴더에만 web.config 파일을 수정해서 업로드 하면 된다.  그럼 해당 폴더상황에만 적용처리 되어서 

이 설정으로 인한 부작용(?) 을 최소화 할수 있다. 

 

IIS url Rewrite 모듈이 설치 되어 있어야 한다. 

https://www.iis.net/downloads/microsoft/url-rewrite

 

URL Rewrite : The Official Microsoft IIS Site

Install this extension or view additional downloads  OverviewIIS URL Rewrite 2.1 enables Web administrators to create powerful rules to implement URLs that are easier for users to remember and easier for search engines to find. By using rule templates, re

www.iis.net

 

    <system.webServer>

       <rewrite

            <outboundRules>

                <rule name="AddSameSiteCookieFlag">

                    <match serverVariable="RESPONSE_Set-Cookie" pattern="(.*)=(.*)$" />

                    <action type="Rewrite" value="{R:0};SameSite=none; Secure" />

                </rule>

            </outboundRules>

        </rewrite

    </system.webServer>

 

크롬으로 해당하는 위치에  접근한후 
f12 > Application > Storage > Cookies > 

쿠키 에 도메인 클릭

 

해당 도메인의  SameSite 가 적용된것을 육안으로 확인가능

그리고 결재테스트 를 해보면 

간헐적으로 (홀, 짝, 에러 ...) 나던 에러가 나지 않고 잘 결재 되는것을 확인  할수가 있다. 

반응형