설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • MYSQL
    • docker
    • jquery invalid
    • angular2
    • jOOQ
    • angular4
    • 404 error
    • Angular
    • RESTful
    • Kafka
    • page not found
    • flex
    • INVALID
    • mongodb
    • CORS
    • 크로스도메인
    • angular 콜백
    • 패스트캠퍼스
    • Redis
    • angular callback

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Back-End/Java

    Apache Tomcat CORS설정

    2018. 2. 4. 15:03

    http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter


    오픈api개발하다보면 발생할 수 있는 크로스도메인 에러

    Access to Script at '서버에 요청 한 url' from origin '요청자의 도메인' has been blocked by CORS policy: No "Access-Control-Allow-Origin' header is present on the requested resource. Origin '요청자의 도메인' is therefore not allowed access. 


    네이버검색하면 SpringFramework을 통한 CORS설정이 대부분인데, 현재환경이 스프링이 아니라서..

    더 찾아보다가 tomcat에서 지원하는 filter을 설정하면 된다는 정보를 보고 설정해봤다.

    http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter


    WebProject내 web.xml파일에 필터 추가 후 테스트해봤더니 잘 되는것을 확인했다. 는 개뿔  PUT이 안먹어서 고급설정으로 바꿈

    <filter>
      <filter-name>CorsFilter</filter-name>
      <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>CorsFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>



    고급설정시 

    <filter>
      <filter-name>CorsFilter</filter-name>
      <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
      <init-param>
        <param-name>cors.allowed.origins</param-name>
        <param-value>*</param-value>
      </init-param>
      <init-param>
        <param-name>cors.allowed.methods</param-name>
        <param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
      </init-param>
      <init-param>
        <param-name>cors.allowed.headers</param-name>
        <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
      </init-param>
      <init-param>
        <param-name>cors.exposed.headers</param-name>
        <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
      </init-param>
      <init-param>
        <param-name>cors.support.credentials</param-name>
        <param-value>true</param-value>
      </init-param>
      <init-param>
        <param-name>cors.preflight.maxage</param-name>
        <param-value>10</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>CorsFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>


    설정방법은 문서를 확인해야 할듯.

    저작자표시 (새창열림)

    'Back-End > Java' 카테고리의 다른 글

    직접 작성해보는 java map, filter, reduce, curry  (0) 2019.10.28
    함수형 JAVA코딩01  (0) 2019.06.06
    [Jasypt] properties파일 암호화  (0) 2015.05.19
    자바 한글 초성/중성/종성 분리하기 (1)  (2) 2012.10.24
    자바 한글 초성/중성/종성 분리 & 영어로 변환하기  (2) 2012.10.24
      'Back-End/Java' 카테고리의 다른 글
      • 직접 작성해보는 java map, filter, reduce, curry
      • 함수형 JAVA코딩01
      • [Jasypt] properties파일 암호화
      • 자바 한글 초성/중성/종성 분리하기 (1)
      설 연수
      설 연수

      티스토리툴바