3개의 사이트에 동일한 구글 태그매니저 연동작업을 했습니다. (스크립트 실행)

 

그런데 1개 서버에서 

 

Refused to execute script from '' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

 

위와 같이 해당 스크립트의 요청이 거부가 됩니다.

 

 

구글링을 해보면  nginx 설정에

add_header 'Access-Control-Allow-Origin' '*';

를 추가하라고 하는 글들이 보이는데요.

 

문제가 없는 서버쪽에 위 내용을 찾아봐도 없는데 잘 되는거 같아 제가 못찾는건지 아니면 다른 문제인지 판단이 잘 안서네요.

 

 

add_header 'Access-Control-Allow-Origin' '*';
를 설정에 추가해도 문제 안될까요??

 

 

  • profile

    저건 Access-Control-Allow-Origin 헤더의 문제가 아니고, Content-Type 헤더의 문제입니다. 자바스크립트를 요청했는데 Content-Type: text/html 이라는 헤더가 따라오면 실행이 되지 않습니다.

     

    요즘 절대 다수의 서버는 .js 확장자가 붙은 파일을 요청하면 Content-Type: text/javascript 또는 application/javascript 라고 제대로 헤더를 붙여 줍니다. text/html이 붙었다면 확장자가 .js인 파일을 직접 요청한 것이 아니라, PHP나 라이믹스를 통해서 스크립트를 반환하도록 해놓으셨을 가능성이 높아 보입니다. 이런 경우에 헤더를 제대로 출력해 주는 것은 해당 자료의 책임입니다.

  • profile profile

    동일한 파일을 3개의 사이트에 업로드해서 요청을 동일하게 했습니다.

    1개의 사이트(다른서버)에서만 위와 같이 차단이 되서요.
    add_header 'Access-Control-Allow-Origin' '*';

    를 nginx 쪽에 넣고 해결은 되었습니다.

    올바르지 않다면 어떻게 처리해야 하나요?

    업로드한 파일에 Content-Type: text/html 로 되어있긴 합니다.
    application/javascript 로 바꿨을때도 동일한 문제가 발생했거든요.

     

     

    <?php 
    header('Content-Type: text/html; charset=UTF-8'); 

     

    현재 이렇게 되어있고 

     

    <?php 
    header('Content-Type: application/javascript; charset=UTF-8'); 

     

    이렇게 시도는 해봤습니다.

  • profile profile
    nignx 설정 원래대로 돌리고

    text/javascript 로 바꿔주니까 에러 안뜨고 잘되네요.

    나머지 서버에서는 왜 잘되는건지 희안하네요.
  • profile profile
    도메인이 다르다면 Access-Control-Allowed-Origin도 필요할 수 있습니다.
    둘 다 적용해 보세요.
  • profile profile
    지금 구글 태그 매니저 스크립트가 저희 사이트에서 실행되면서 그 안에 스크립트가 저희 서버로 요청하는 것 입니다.

    둘다 라면 어떤 거 말씀 이죠?
    현재 Access-Control-Allowed-Origin 제거 하고

    PHP 헤더 코드에 text/javascript 로 하니까 에러 없이 잘 됩니다.

    근데 다른 서버(직접 세팅해주신)는 처음부터 문제가 없었어요.
  • profile profile
    Access-Control-Allowed-Origin을 추가해놓은 상태에서 Content-Type도 자바스크립트에 맞는 것으로 해보시라는 의미였습니다. 이미 잘 작동한다면 그냥 두셔도 상관없습니다.
  • profile profile

    세팅해주신 서버는
    Content-Type도 지금 제대로 된게 아니고 Access-Control-Allowed-Origin 설정을 한것도 아닌것 같은데(해주셨나요??) 잘 되는데...

    문제가 되었던 서버는

    Access-Control-Allowed-Origin 의 설정을 해주거나
    혹은 Content-Type을 잘 맞춰주니까 잘 되네요.

    이 두 서버의 차이가 궁금해져서요.

     

     

    일단 나머지 서버에 업로드한 PHP 파일도 

    text/javascript 로 교체하긴 했습니다.

  • profile profile
    X-Content-Type-Options: nosniff 헤더를 추가하셨다면 거기에 영향을 받을 것입니다.
    사이트 도메인이나 SSL 적용 여부 등에 따라서도 다를 수 있고요.
  • ?
    도움주셨던 태그매니저 스크립트 어제 저는 성공한 줄 알았지만, 값을 가져오지 못해서 다시 복구 시켜놓았어요... 이 글도 참고해서 다시 확인해 봐야겠네요.
  • ? profile
    어.. 그럼 아마 Content-Type 때문에 에러가 뜨고 있었을지 모릅니다. 브라우저 콘솔창에 에러가 뜨면 수집 안되니까 일단 에러가 뜨면(뜨지 않아도) Content-Type 을 바꿔주세요.
  • profile ?
    넵 그렇게 적용해보겠습니다!
  • profile ?
    php 파일에 Content-Type를 text/javascript 바꿔주고 스크립트는 application/javascript 그대로 둬도 되나요? 둘다 바꿔줘야할까요
  • ? profile

    네. php 파일만 그렇게 바꿔주세요. 저는 라이믹스 꿀팁 안되는거 콘솔 에러 못봐서 몰랐습니다. 오늘 아날리틱스 에서 ip 수집 안된거 보고 브라우저 콘솔 봤더니 에러 뜨고 있었더라구요.

  • profile ?
    말씀대로 적용했더니 잘 되네요! 감사합니다 :-)

List of Articles
번호 제목 질문기여자 날짜
공지 답변을 확실히 받기위한 질문자 지침서 13 금메달람보
15007 XE에서 업데이트와 라이믹스 새로깔기 차이 6 블랙화이트
» Refused to execute script from '' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled. 14 웹지기
15005 요즘 구글 애드센스 개제율 얼마나오세요? 7 낙타
15004 웹앱 홍보로 스마트 앱배너 어떤가요? 7 file 낙타
15003 SSL 설치 후 403 에러.. 2 file 아스타
15002 스티커 모듈을 PHP 8.0 환경에서 살리려고 작업하고 있는데요 8 단비아빠
15001 트래픽 위젯 오류 질문 8 file 유니짱
15000 RSS로 가져온 게시글 볼때 늦게 열림 문의 18 웅돌프
14999 글을 썼을때 써치에 썼던 파라미터를 유지할 방법은 없을까요? 4 단비아빠
14998 문서페이지에만 스타일을 적용하고 싶어요. 2 다다다닷
14997 출석부 고장났나요..? 5 바라미
14996 getThumbnail 함수명은 다른 모듈에서 사용 불가능한가요 6 윤삼
14995 고양이 안면인식 사진게시판 1 file 블랙화이트
14994 DB 테이블이 이미 존재합니다 는 어떻게 해야되나요? 13 쌩초보맨
14993 리노드 마이그레이션 해보신분 있으신가요? 4 아라후
14992 다운로드 권한을 주었을때 레이아웃 문의입니다. 4 내강아지
14991 라이믹스 2.0.7에서 동영상 섬네일 추출 되시나요? 4 file 아라후
14990 안드로이드 앱 출시해보신분 질문합니다! 5 낙타
14989 리노드 Fremont CA vs 리노드 Tokyo 4 아라후
14988 캐시폴더가 여러개 생깁니다. 12 file 내강아지
Board Pagination Prev 1 ... 153 154 155 156 157 158 159 160 161 162 ... 908 Next
/ 908