XETOWN

분수 광장

특정한 주제 없이 자유로운 이야기를 나눌 수 있습니다.
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

요즘 클라우드 플레어 비즈니스 플랜이 아닌 이상은 전부 CDG 나 LAX 등으로 연결되는듯 하더라구요

트래픽 절감을 위해 클라우드 플레어는 써야겠는데 속도는 느려서 환장할것 같고...

해결책을 찾다가 용량이 비교적 큰 첨부 이미지 파일만 클라우드플레어를 거쳐오고

HTML/JS/CSS 등은 클라우드 플레어를 안거쳐오게 처리하면 어떨까 하는 생각이 들었습니다.

 

 

원래 계획은... 본 사이트는 클라우드 플레어 경유를 풀어버리고

첨부파일만 외부 별도의 서버로 내보내고

외부 저장용 서버만 클라우드 플레어 적용을 해서 사용하려고 했는데...

이 애드온이 방치된지 오래된 탓인지...

작동을 안해서 다른 방법으로 비슷한 기능을 구현해봤습니다.

 

 

장점 :

1. 이미지 첨부파일만 클라우드 플레어 CDN을 경유하기 때문에 사이트 전체의 속도는 클라우드 플레어를 적용안한 상태로 빠르게 유지하면서 트래픽 절감을 기대할수 있다.

(본 사이트에는 클플이 안걸려있고, 첨부 이미지에만 클플이 걸려있으니 사이트는 빠르게 뜨고, 이미지 뜨는 속도만 조금 느려집니다.)

2. 서브도메인을 활용하므로 도메인을 하나 더 사야될 필요가 없다.

 

단점 : 이 방법으로 적용할경우 야매.. 스러운 방법이라 어떤 예상치 못한 문제가 발생될지 알수 없음..

아직까지는 별 문제가 발생하지는 않았습니다.

 

원리 : 첨부파일 (이미지) 등록시 본문에 삽입되는 이미지주소가 기존에는 http://도메인/files/attach/~ 형식인데

이것을 http://image.도메인/files/attach/~ 형식으로 변환하여 글등록을 해주므로 사람들이 글을 읽거나 할때에

첨부 이미지는 도메인.com (클플 미적용)이 아닌 image.도메인.com (클플 적용)을 통하여 출력된다.

 

적용법 :

1. 클라우드 플레어 에서 서브도메인을 추가한다. 이름은 자유롭게 (ex : image 등)

2. 해당 서브도메인을 사용할수 있도록 서버 혹은 호스팅에서 세팅 (서브도메인 추가)

3. /common/js/plugins/jquery.fileupload/js/ 의 main.js & main_min.js 파일을 열어서 104~108번 째을

f(result.error == 0) {
if(/\.(jpe?g|png|gif)$/i.test(result.source_filename)) {
temp_code += '<img src="' + result.download_url + '" alt="' + result.source_filename + '" editor_component="image_link" data-file-srl="' + result.file_srl + '" />';
temp_code += "\r\n<p><br></p>\r\n";
}


 

아래와 같이 변경해준다.

f(result.error == 0) {
if(/\.(jpe?g|png|gif)$/i.test(result.source_filename)) {
temp_code += '<img src="//image.도메인.com' + result.download_url + '" alt="' + result.source_filename + '" editor_component="image_link" data-file-srl="' + result.file_srl + '" />';
temp_code += "\r\n<p><br></p>\r\n";
}

 

위의 과정을 거치게 되면 이후 등록되는 게시글의 첨부이미지 경로는 모두 http://image.도메인.com 으로 시작하게 됩니다.

 

만약 새로등록하는 게시글이 아닌 이전의 글들까지도 클플을 거치게 하려면

sql 명령어로 document 의 이미지경로를 모두 위에서 만든 클플용 경로로 변경해주면 되겠습니다.

 

 

  • profile
    웹지기 2016.11.15 12:54:10
    // image. 으로 하는게 ssl 사용 미사용 모두 문제 없지 않을 까요? 애드온으로 나오면 수정없이 필요한 분들이 사용하기 쉽겠습니다. 트래픽 문제가 발생된다면 좋은 해결법이 될거 같네요.
  • profile
    프렌다 2016.11.15 12:58:58

    그렇네요... 저의 경우에는 SSL 사용중이라 https:// 으로 설정해두었는데..
    생각해보니 레이아웃에서 js등은 // 으로 불러왔으면서... 왜 저거 수정할때는 절대경로로 해두었을까요... ㅋㅋㅋ

    본문에 경로 // 으로 수정하였습니다!

  • profile
    GG 2016.11.15 14:12:51
    좋은 아이디어 같습니다.
  • ?
    마신 2016.11.15 14:19:56
    좋은 아이디어 이십니다.
  • profile
    우성군 2017.01.01 22:01:15
    완전 좋네요!!!
  • ?
    라그릿 2017.01.02 17:46:55
    sql 명령어로 어떻게하는건가요..!?
  • profile
    프렌다 2017.01.02 19:06:25
    UPDATE xe_documents SET content=REPLACE(content, "도메인주소", "image.도메인주소")

    같은 형식으로 게시글 내용을 일괄적으로 변경해주시면 됩니다.

    phpmyadmin 접속후 xe_documents 테이블에서 SQL을 적용하시면 됩니다.


    위의 쿼리문을 작성후 테스트는 안해보았습니다.
    혹시 모르는 사고를 방지하기 위하여 디비백업후 혹은 테스트환경에서 테스트 해본후 적용하세요!
  • ?
    라그릿 2017.01.02 19:16:39
    으어.. 한번도 해본도 본적도 없는거라 이거 예시라도있나요?
  • profile
    프렌다 2017.01.02 19:32:08 Files첨부 (1)

    아래 페이지의 경우 mysql (maria db) 을 사용중이라면 기본적으로 설치되어 있을 겁니다.

    만약 주소를 모르시겠다면 호스팅 회사 관리자에게 물어보거나 호스팅 사이트 로그인후 DB관련된 메뉴가 있을겁니다.

    본인 서버이거나 서버 관리자가 따로 있는경우에는... 잘 알고 계실거구요

     

    GGGG.png

     

    1번 과정은 안하셔도 되나... 테이블 구조 파악 및 내용확인을 위해 해보시길 권장합니다.

     

    명령어는 예를들어 

    UPDATE xe_documents SET content=REPLACE(content, "http://test.com", "http://image.test.com")

     

    을 적용하신다면 전체 게시글의 내용중에 http://test.com 이 있다면 모두 http://image.test.com 으로 치환 합니다.

     

     

    구글에 mysql 쿼리 라고 치시면 자세히 나올겁니다.

     

     

  • ?
    라그릿 2017.01.02 20:03:53
    오.. 제대로 바꼈습니다, 감사합니다.

    그런데 새로 올린 게시글의 이미지 주소는

    http://도메인.net//image.도메인.net/files/attach/images/244/895/447/d657b5d8d634680da86b82127fca66e8.jpg

    이런식인데 전에있던 바꾼 게시글의 이미지 주소는

    http://image.도메인.net/files/attach/images/244/885/001/d833cfaba823758682bd710bbad8c14d.png

    이런식이네요..

    둘다 작동은 하지만 보기는 별로네여.. ㅋㅋ
    그래도 감사합니다, 좋은팁이에요!
  • profile
    프렌다 2017.01.02 20:11:52
    아.. 이미 팁을 적용하시고 글등록을 하신 시점이셨군요 ㅠㅠ...
    위의 명령어(쿼리문)에 WHERE 이라는 조건절을 붙이면 특정시간 이전에 작성한 게시글에만
    적용되는등의 방법 또한 가능합니다.

    지금 상태에서 쿼리문으로 마구 바꾸다간... 디비안의 데이터가 꼬일수도 있으니...
    새로 등록된 게시글이 몇개 안되고 정상작동한다면 그냥 쓰는는 수 밖에... 없어보이네요
  • ?
    라그릿 2017.01.02 20:16:54
    ...!?

    http://도메인.net//image.도메인.net/files/attach/images/244/895/447/d657b5d8d634680da86b82127fca66e8.jpg

    이렇게 뜨는건 정상적인거맞죠..?

    그럼 상관없어요! 이전 게시글도
    http://image.도메인.net/files/attach/images/244/885/001/d833cfaba823758682bd710bbad8c14d.png

    이렇게 뜨고 클플로 로딩되는거..? 같으니까요! 헤헤
  • profile
    프렌다 2017.01.02 20:20:05

    팁 적용후에 몇개의 게시글이 팁이 적용된 상태로 작성되었고

    쿼리문 이용시에 위의 경우에 대한 처리를 안해주었기 때문에...

    팁 적용직후 부터 쿼리문 명령어 사용 직전 까지 등록된 게시글의 경우 주소가 이상하게 된겁니다 ㅠㅠ

     

    현재 상황으로 볼때

    [팁 적용 이전에 작성한 게시글]
    http://image.도메인.net/files/attach/images/이하주소

    [팁 적용 이후 쿼리문 작업 직전 까지 작성한 게시글]
    http://도메인.net//image.도메인.net/files/attach/images/이하주소

    [팁 적용 이후 쿼리문 작성까지 모두 완료된 지금 작성하는 게시글]
    http://image.도메인.net/files/attach/images/이하주소

    이렇게 된다면 정상입니다.

  • profile
    프렌다 2017.01.02 20:16:22
    아울러 팁이 잘 적용되었는지 확인하는 방법입니다.

    http://도메인.com/cdn-cgi/trace 로 접속해서 웹 페이지를 찾을수 없다고 나오면 클플 미적용
    http://image.도메인.com/cdn-cgi/trace 로 접속해서 클플 관련정보가 나온다면 클플이 적용되어 있는 상태입니다.
  • ?
    라그릿 2017.01.02 20:17:52

    http://도메인.net//image.도메인.net/cdn-cgi/trace

    헤헤 안된거같기도..헤헤..ㅠ

  • ?
    라그릿 2017.01.02 20:18:57
    음...

    도메인.net가 빠지고 //image.도메인.net가 들어가야하는데..

    도메인.net//image.도메인.net로 되버리니 후..
  • profile
    프렌다 2017.01.02 20:26:06
    UPDATE xe_documents SET content=REPLACE(content, "http://도메인.net//image.도메인.net", "http://image.도메인.com")

    이와 같이 한번 더 쿼리문 작업하시면 모든 게시글의 이미지 주소가
    http://image.도메인.com 으로 시작하게 될겁니다.
  • ?
    라그릿 2017.01.02 20:23:53
    // 가아니라

    http:// 로 해야 정상적으로 되네요
    이렇게되면 ssl 사용시 자동으로 안바뀌는점이 있다만..어쩔수있나요.. 헤헤..
  • profile
    프렌다 2017.01.02 20:28:20
    사이트에 전체 SSL사용시 https:// 으로 적용해주셔야 됩니다.

    만약 전체 SSL을 사용중인데 이미지 경로만 http 일경우 보안경고 나타납니다.

    클라우드 플레어에 SSL기능 있습니다.

    image 서브도메인에 한해서만 클라우드 플레어 주황색 구름 켜시고

    SSL탭에서 FIXABLE 설정하시면 image.도메인 에 대해서만 클플적용+클플 보안서버 기능
    활성화 됩니다.
  • profile
    프렌다 2017.01.02 20:30:34
    만약 전체 SSL 사용중이라면 쿼리문 다시 날려줘야 됩니다.

    위에 작성해드린 예시 쿼리문은 HTTP 기준입니다.

    HTTPS 사이트에 적용시 보안에러 나타납니다.


    라그릿님 사이트주소를 모르니... 확인이 불가능하네요

    혹시 막히는점 있으면 카톡 frenda 로 톡하나 보내주세요 ㅡ,ㅡ 도와드릴게요
  • ?
    라그릿 2017.01.02 20:36:49

    헤헤 아니에요

    http 사이트라서 http로 다 적용하고 알려주신 팁대로

    /files/attach/images/    >>> http://image.도메인.nethttp://도메인.net/files/attach/images/ 으로 바꿔주고


    main.js 부분도 <img src="//image.도메인.net' 이렇게 적어버리면
    도메인.net//image.도메인.net 로 출력되기에

    <img src="http://image.도메인.net'
    으로 바꿔서 새로 등록하는 게시글도 정상적인 주소인
    image.도메인.net로 출력되었습니다

    제가 몰랐던 sql명령방법을 알려주셔서 감사합니다, 오늘도 여러가지 배우고가며 좋은팁 알아갑니다.

    다른사람들도 이 댓글보고 해결하길 바래요! ㅎㅎ

  • ?
    라그릿 2017.01.02 20:46:59
    생각해보니 이거 썸네일도 이용가능하겠네요.. ㅎㅎ
  • ?
    낙타 2017.01.12 17:04:35
    질문합니다

    main.js & main_min.js 이거 둘다 수정하라고 하시는말씀인가요?


    main.js 파일은 수정하는게 있는데

    main_min.js 파일은 불러오면 좀 지져분하게 불러와져서 찾기가 힘드네요

    여기에도 있나요?
  • profile
    프렌다 2017.01.12 20:18:06
    min.js 파일은 main.js 와 동일한 내용이지만 줄바꿈 및 띄어쓰기 등이 모두 삭제되어 있는 파일입니다. (용량 줄이기위해)

    컨트롤 F (찾기) 기능을 이용해서 찾아보시거나, 혹 어렵다면 main_min.js 파일은 그냥 이름을 바꾸거나 삭제해버리면 main.js 를 불러올겁니다.
  • ?
    낙타 2017.01.13 17:14:05
    이파일이 이미지 자동삽입이랑 연관된 파일 같은데 삭제해버려도 괜찮곘죠?
  • ?
    낙타 2017.01.13 17:37:27
    클라우드 플레어는 DNS에서 www & 도메인 은 구름을 끄고 image 서브도메인만 켜두면 되겠죠?
  • ?
    온플래너 2017.01.26 00:48:32
    네 그렇게 하니 이상없이 동작하더군요
  • ?
    온플래너 2017.01.26 19:28:57

    대략 50% 이상 대역폭 절감효과가 있네요. 단점은 한국 cdn 으로 잡히지 않으니 느립니다.
    프로로 결제했는데, 글로벌 cdn(한국포함)을 원하면 엔터프라이즈로 결제하라고 합니다. 

    한달에 백만원이상 달라고 할까봐 겁나서 못물어 봤습니다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
화제의 글 자유 xe푸시앱에 치명적인 오류가 발견되어 알려드립니다. 7 단희아빠 2017.03.15 279
화제의 글 자유 서버 사용자분들이 참 많네요 12 file 제이엔지 2017.03.22 365
4178 자유 기진곰님의 슈퍼캐시는 예술입니다. 5 투데이 2016.11.16 206
4177 자유 윈도우10 업데이트때문에 12 file 제이엔지 2016.11.16 126
4176 자유 하루 10시간 컴퓨터 사용 남자 정자 99% 기형 20 구름이 2016.11.16 178
4175 자유 혹시 개인금고 사용중인분 계신가요? 3 프렌다 2016.11.16 91
4174 자유 네이버는 무슨 이득이 있어서 xe를 지원하는걸까요? 11 bowon 2016.11.15 246
4173 자유 내일 오후 8시 라이브 시간 조정안내.. 2 람보 2016.11.15 73
4172 자유 힘을내요~ 엑스이타운~ 엑스이타운~~ 6 제이엔지 2016.11.15 86
4171 자유 힘을내요~ 슈퍼캐시~ 수퍼파월~~ 35 file 웹지기 2016.11.15 161
4170 자유 Startssl 무료인증서 사이트에 올려진 뉴스 6 file 제이엔지 2016.11.15 241
» 자유 사이트전체중 게시판 첨부이미지만 클라우드 플레어 적용하는법 (부제 : 클플사용하면서도 빠른속도) 28 프렌다 2016.11.15 281
4168 자유 매우 허술하지만, xe에서 본문 워터마크 기능을 애드온으로 완성했네요. 11 약사이다 2016.11.15 150
4167 자유 여러가지 작업의뢰도해보고 이것저것 해보면서 느낀점. 좋은 개발자란? 14 투데이 2016.11.14 109
4166 자유 저는 요즘 고소를 당했어요.. 15 이온디 2016.11.14 301
4165 자유 호호호~ 10 file 제이엔지 2016.11.14 172
4164 자유 정말 XETOWN에서 답변해주시는 개발자님들께 진심으로 감사의 말씀드립니다. 14 투데이 2016.11.14 112
4163 자유 회원정보 관리 애드온 쓰시는분 계시나요? 2 콕콕콕 2016.11.14 54
4162 자유 포인트 나눔 추첨 결과 입니다. 17 file 다이오니 2016.11.14 71
4161 하소연 판매에 대한 부담감 10 날아라 2016.11.13 177
4160 자유 도메인 업체가 일방문자수가 많아지면 도메인을 강탈해가는 경우 15 투데이 2016.11.13 160
4159 자유 경험치 시스템과 포인트 시스템 어떤 시스템이 우리한테 적합할까요? 4 투데이 2016.11.13 75
Board Pagination Prev 1 ... 35 36 37 38 39 40 41 42 43 44 ... 248 Next
/ 248
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...