none
IE11 에 프록시서버 설정후 "127.0.0.1" 프록시예외 등록, 로컬 인트라넷 보안 영역옵션을 킨 경우 로컬 서버데몬 exe 에 Websocket, Ajax 연결이 되지 않는 현상 RRS feed

  • 질문

  •  IE11 에 프록시서버 설정된 상태에서 "127.0.0.1" 프록시예외 등록한 후 로컬 인트라넷 보안 영역으로 프록시예외를 포함시키는 옵션을 킨 경우 127.0.0.1 로 listen중인 로컬에서 실행된 서버데몬 exe 에 소켓연결이 되지 않는 현상이 나타납니다.

     -  프록시 서버 설정 함. 
      

     - IE11 에서 프록시서버 설정에서 "127.0.0.1" 을 예외로 등록.
      


      - 인터넷 옵션에서 보안 -> 로컬 인트라넷 -> 사이트 -> "프록시 서버를 사용하지 않는 사이트를 모두 포함" 옵션을 체크
      


      - PC에는 IP : 127.0.0.1 / Port : 10531, 10530 으로 listen 중인 서버데몬 test.exe 가 실행 중.

      - 위 설정이 되어있는 경우에는 IE11 에서 test.exe 로컬서버로 web socket 이나 Ajax(XDomainRequest 객체를 사용)를 사용하여 소켓연결이 되지 않는 현상 발생. jQuery Ajax 함수를 사용한 JSONP(HTTP Get)는 연결, 통신 됨.
      - 프록시 서버를 설정하지 않는 경우는 연결 안됨 현상 발생 안함. ("프록시 서버를 사용하지 않는 사이트를 모두 포함" 옵션이 프록시서버 미설정인 경우는 아무 영향이 없기때문")
      - test.exe 로 websocket/Ajax 를 연결하는 JavaScript 는 웹서버에 js파일로 올라가 있으며 IE11은 해당 웹서버에 접속하여 해당 스크립트를 실행하여 로컬에 실행되어대기중인 test.exe 와 연결하게 된다.

      - websocekt 에러 발생시 개발자도구 메시지
       : WebSocket 객체 생성시 "SecurityError"

      - XDomainRequest 에러 발생시 개발자도구 메시지
       : XDomainRequest.open 호출 시 "액세스가 거부되었습니다."

      - 문의 사항
       : "프록시 서버를 사용하지 않는 사이트를 모두 포함" 옵션의 의미를 확인한 결과 프록시 서버 예외설정된 사이트들을 로컬 인트라넷 정책에 포함시켜 보안 적용을 하는 것으로 확인하였습니다.

        이때 프록시서버 예외 항목중 "127.0.0.1" 이 있는 경우 해당 사이트(loopback)에 대해서 인트라넷 보안정책에 포함되는데 이런 경우 왜 IE11 에서 127.0.0.1 로 실행중인 서버에 web socekt, Ajax 등이 막혀 연결이 안되는지 궁금합니다. web socket, Ajax 모두 연결시도를 하는중 JavaScript 에서 Security Error 나 "액세스 거부" 에러가 발생하였습니다. IE11에서 인트라넷 보안영역 설정으로 인해 문제가 발생하는 것인지 궁금합니다. 그리고 JSONP 방식의 연결은 가능한데 XDR Ajax나 websocket 은 안되는지 이것의 차이점도 의문입니다.
       좋은 답변해 주시면 감사하겠습니다.


    • 편집됨 leek55 2016년 1월 25일 월요일 오후 12:56
    2016년 1월 25일 월요일 오후 12:54

모든 응답

  • 정확하진 않으나 프록시 서버를 쓸때

    인터넷옵션 -> 인트라넷 - > 프록시 서버를 사용하지 않는 사이트를 모두 포함(P) 옵션을 Disable 시켜야 동작하는 증상이 있더라구요. 

    정확하진 않습니다.

    2018년 8월 14일 화요일 오후 11:07