https://xetown.com/tiptalk/1091765
위 팁을 읽고 정상적으로 적용은 완료했습니다만, 궁금한 점이 몇가지 있어서 질문드립니다.
1. jpg, gif, jpeg, png만 캐싱하도록 설정되어 있는데 mp4 까지도 캐싱하도록 설정하려면 어떻게 해야 할까요?
php에서 exif_imagetype 함수를 통해 보안체크를 하는 부분이 있던데, mp4파일은 보안체크 함수에서 걸려버려서 캐싱이 안 되는군요 ㅠㅠ
2. 라이믹스에서 에디터를 통해 이미지 파일 업로드 시 1차적으로는 본 서버에 업로드 되고, 글을 작성 후 글을 읽을 때에는 해당 주소가 xetown.com 에서 img.xetown.com 으로 자동 치환되도록 적용하려면 어떻게 해야 할까요?
댓글 26
1번은 해당 소스를 작성하신 분이 알려주시면 될 것 같고요...
2번은 두 가지 방법이 있습니다. 간단한 애드온을 사용해서 본문 내용 중 특정도메인으로 연결되는 이미지 또는 mp4 주소를 모두 다른 도메인으로 치환해 주는 것, 그리고 원본 서버에 이미지 또는 mp4 파일을 요청하면 즉시 새 서버로 301 리다이렉트하는 것입니다. 에디터는 전혀 건드릴 필요 없습니다.
사이트 주인이 모든 콘텐츠를 통제하는 개인 블로그가 아니라 불특정 다수가 게시물을 작성할 수 있는 커뮤니티 사이트의 특성상, 두 가지 방법을 병용해야 확실한 효과를 거둘 수 있습니다. 애드온을 통한 치환에만 의존하면 기존 게시물에서 원본 서버로 직접 연결되는 img 태그나 외부의 불펌에 대응할 수 없고, 반면 리다이렉트에만 의존하면 원본 서버에도 리다이렉트 트래픽이 계속 발생할뿐더러 두 번 접속하게 되니 속도도 느려집니다.
2번은 에디터에서 파일 업로드 후 자동 삽입이 될 때, img src 부분을 기존 도메인에서 이미지 서버 도메인으로 치환되도록 코드를 수정하려고 시도해보려고 합니다. 잘 될지는 모르겠네요 ㅠㅠ
https://xetown.com/board/422382
에디터는 건드리지 마세요...
워낙 민감한 놈이라... 잘못 건드리면 무척 귀찮아져요.
//도메인/files/attach/images
을
//원하는서브도메인까지추가한//files/attach/images
로 변환해주는 애드온이 나온다면
트래픽때문에 고민이신 분들의 경우 클라우드플레어에 이미지만 캐시해서 이용할 수 있겠네요.
클라우드플레어에서 서브도메인을 추가하고
해당 서브도메인만 구름을 키고
나머지는 구름을 끈다음
본서버에서 서브도메인도 접속이 가능하게끔 조치를 해주면 되는거 같더군요.
저 글을 볼때는 별 관심이 없어 자세히 안본거 같은데 대략 이런거 같네요.
애드온만 있다면 쉽게 이미지만 캐싱할때 사용하고 안하고 가능하겠네요.
이미지만 클플 쓰는 것은 클플 약관 위반입니다만, 실제로 얼마나 엄격하게 체크하는지는 모르겠습니다. 라엘님이 제시하신 것처럼 국내서버를 사용하는 방법에 비해 속도가 심하게 느려지는 면도 있고요.
말씀하신 기능을 수행하는 애드온은 제가 비공개로 판매중입니다만, 위에 적었다시피 원본 서버에서 redirect 설정을 하고 캐시서버 세팅을 병행해야 제대로 효과를 얻을 수 있기 때문에 관련 의뢰가 있을 때만 제공하고 있습니다. 이미지만 클플 쓰는 것은 활용도가 너무 떨어져서요.
트래픽이 너무 고민이신 분들은 뭐 클라우드플레어에서 막을때 까지는 그래도 꽤 괜찮은 대안 같아서요.
갑작스러운 방문자 증가로 트래픽만 우선 해결하려는 곳에서는 도움이 될 것 같아요.
클라우드플레어 전체적용은 부담스러우니까요...
네.. 적극 제재하지 않는다고 해도 다른 회사의 약관 위반을 주 목적으로 하는 애드온을 판매하기는 좀 그래서요. 예전에 XE타운 포인트마켓에도 이미지를 클플로 넘겨주는 자료가 있었던 것 같기도 하고요.
아마존 라이트세일을 이용해서 캐싱용도로 사용하는 것도 약관 위반인건가요? ㅠㅠ
애드온을 제작해서 최대한 코어수정없이 하면 업데이트도 용이하고 저도 좋지만, 실력이 없기에 에디터의 js 파일 중에 '이미지 자동 본문 삽입' URL만 수정해서 일단 구현했습니다.
사실 트래픽은 부담이 없는데 사용중인 VPS업체의 회선 문제인지 이미지를 로딩할때 시간이 상당히 많이 걸려서 이미지 로딩속도 개선 목적으로 캐시서버를 구성하였습니다.
그런데 지금 사용하신 서버도 클라우드플레어에 캐싱하는 것을 제공하는 것인가요?
그렇다면 뭐 엎어지나 매치나 이긴 한데 ㅋ 이미지만 캐싱하는 것을 클라우드플레어에서 약관위반을 들어서 제제할 가능성은 낮아보이긴 합니다. 개인적인 생각이 그래요 ㅋ
이미지 캐시 php프로그램은 아마존 라이트세일을 이용하고 있구요
아니요. 아마존 라이트세일에서 가져간 이미지가 클라우드플레어에 의존하여 캐싱하냐고 질문 드린겁니다. 클라우드플레어 약관에 관해 물어보셔서....
라이트세일 서버를 캐싱용도로 쓰던 본서버로 쓰던 정해진 한도에서 쓰면 이미지용이던 뭐던 굳이 질문하실 이유가 없어 보여서요.
그렇다면 클라우드플레어,아마존 어느 곳에서도 간섭하거나 하지 않죠.
그런데 그렇게 하면 트래픽 절감 효과도 없고 한데 굳이 하시는 이유가 있나요?
아직 서버 자원이 부족한 정도의 규모도 아니신데요.
그래서 단순 아마존의 회선을 통해 이미지를 빨리 로딩하려는 목적입니다 =]
궁금해서 약관에서 해당조항을 찾아보려 했는데 찾지 못했는데요. 어느부분인지 알 수 있을까요?
무료사용의 경우 트래픽이 과다하면 서비스를 거절할 수 있으니 이미지만 사용한다고 제한하는건 의미가 없어보이구요.
약관에 없는 내용이라면 굳이 저희가 사용을 못한다고 예단할 필요는 없을 듯 합니다.
imgru 처럼 CDN 용도가 아닌 것을 CDN처럼 사용하는 것을 막아야 할 필요학 있는 경우 약관에 그런 용도로 사용하지 말라고 넣겠지만..
클라우드플레어는 용도 자체가 CDN이니 이미지만 사용하는 것을 따로 막을 필요가 없어보여요.
스킨의 _read.html 파일을 수정하면 된다고 하네요.
https://xetown.com/rxe_tip/994064 이 글 코드를 응용.