Q&A

아주 가끔 ip주소 경로로 불러옵니다. 그래서 이미지가 안보이는데요.

위젯 캐시시간을 설정하면 그런듯 합니다.

늘 그런것이 아닌 아주 가끔 발생하는데요.


XE버그안가요? 캐시시간을 1분이라도 설정을 해서 쓰려고 하는데요.


해결방법이 있을까요?? 

댓글 25

  • 혹시 관리자분이 가끔 ip로 접속하시나요? ip로 접속한 시점에 공교롭게도 캐시가 갱신되면 그런 현상이 일어날 수도 있겠네요. 아니면 widget_sequence가 중복되는 위젯이 있다거나...

  • @기진곰
    아이피로 접속은 안하니 그럼 위젯시퀀스 문제라면 랜덤하게 아주 간헐적적으로 그럴수 있는건가여? 메인페이지에서 발생합니다. 아주 가끔이요.
  • @웹지기
    ip로 접속하는 일이 전혀 없다면 위젯시퀀스가 중복되더라도 ip가 보이는 일은 없을 텐데요...
  • @기진곰
    이미지가 깨진 순간 요소보기로 보면 이미지들의 경로가 아이피주소로 불러오더라구요.
  • @기진곰
    위젯 시퀀스를 체크하는 중에 이런 것을 확인했습니다.

    동일한 위젯을 1단/2단 레이아웃에 모두 사용하기에 같은 코드를 두군데에 모두 넣었습니다. 위젯시퀀스까지 동일하게요.

    그럼 어느순간 동시에 이 두 페이지를 서로 다른 사람이 접속하면서 위젯캐시가 갱신되는 시점에서 문제가 발생하는 건가요??
    이런 경우도 위젯시퀀스를 따로 넣어야 하는 것이지요? 뭔가 잘못된 듯한 느낌이 듭니다. 아니면 정상적인 상황일까요?
  • @웹지기
    양쪽 다 도메인으로 접속하고 동일한 내용이라면 상관없을 것 같은데요.

    혹시 위젯 자체에 버그가 있어서 가끔 ip로 불러오는 경우가 있는데, 캐싱 때문에 좀더 눈에 잘 띄는 게 아닐까요? 예를 들어 ip로 접속하는 회원이 한 명이라도 있다면, 캐싱하지 않을 때는 그 회원만 깨진 이미지를 보겠지만 캐싱을 하면 그 회원이 접속했을 때 생성된 위젯을 다른 회원들도 보게 되는 거죠.
  • @기진곰

    그쵸 현상은 1분 지정한 1분동안은 깨집니다. 근데 그게 왜 누가 모든 위젯의 이미지 주소를 ip로 불러오는 현상을 일으켰는지 그걸 확인하고 조치하고 싶네요.

     

    주 위젯은 컨텐츠위젯과 컨텐츠확장위젯입니다.

  • @웹지기
    웹지기님 사이트를 확인해 보니 ip 주소로도 접속이 가능하네요. (클플이 실제 ip를 100% 숨겨주지는 못하죠.) 물론 SSL 인증서는 도메인이어야 하니까 오류가 나오긴 하지만, 무시하면 그만이고요...

    아파치 설정에서 ip 주소로 접속한 경우 pomelove.com으로 302 redirect 조치해 보세요.
  • @기진곰
    그럼 xe오류가 아닌 ip로 접속 시도가 있었다고 의심해야 하는걸까요?
    ip 리다이렉트는 또 알아봐야겠군요. 끙....
  • @웹지기
    사람이 접속하면 인증서 오류가 뜨지만, 크롤러는 인증서 오류를 무시하기도 합니다. 크롤러가 ip로 접속했을 때 캐시가 갱신되었을지도 모르죠.
  • @웹지기
    아, 그리고 ip는 어떤 ip인가요? 님 서버의 공인 ip인가요? 아니면 클라우드플레어와 관련이 있을지도...
  • @기진곰
    클라우드플레어와 상관없이 예전부터 있던 일이라서요.
    이게 아주 랜덤하게 간헐적으로 나와서 표시되었던 아이피가 어떤 아이피인지는 다시 현상이 나타날때 확인해봐야 겠습니다.
  • @웹지기
    이건 원인이 될 수 없을 거 같네요. 어차피 같은 레이아웃에 넣은 위젯도 여러페이지에 동일하게 사용되니 당연히 코드가 중복으로 여러사람이 사용하게 되는건 너무나 당연한 이야기이군요.
  • 저도 비슷한 현상 발견했습니다. 

  • @이온디
    저는 제 기억으로는 http를 사용할때는 문제가 없었던것으로 기억이되는데요.....
  • @웹지기
    그렇군요. 저도 최근에 https를 적용했으니.
  • @이온디
    얼마전에도 위젯에서 도메인을 이상하게 불러오는 그런 문제가 있지 않았나요? 그때 위젯시퀀스 문제였죠?
  • @웹지기
    네 그렇습니다.
  • @웹지기
    일반적인 웹서버 설정에서 http를 사용할 때는 ip 주소로 접속할 때와 도메인으로 접속할 때 각각 다른 <VirtualHost>로 연결되지만, https를 사용하면 443번 포트에 <VirtualHost>를 달랑 하나만 붙여놓아서 ip 주소든 도메인이든 모두 같은 곳으로 연결되는 일이 종종 발생합니다. <VirtualHost>를 각각 분리하거나 redirect를 사용해야 해요.
  • @기진곰
    이거 같네요. 근데 좀 더 자세한 사용방법을 알 수 있을까요.
    저 같은 경우 https 사용 후 위젯시퀀스 사용 후 xxx.domain.com 등 서브도메인이 다르게 붙어서 나올 때가 있습니다.
    virtualhost를 각각 분리하거나 redirect를 사용하는 건 어떻게 처리하는 건가요
  • @기진곰
    일단 서버 건드리기 어려워서 .htaccess 파일에 처리하려 하는데요. 이미 다른것도 여기서 해와서... ㅡㅡ;

    RewriteCond %{HTTP_HOST} ^111\.111\.111\.111
    RewriteRule (.*) https://pomelove.com/$1 [R=301,L]

    이렇게 처리하니 아이피까지만 리다이렉트 되고 나머지 폴더부분은 아이피 그대로 접속이 되네요. 하위까지 모두 아이피로 접속을 도메인으로 전환시켜주러면 어려울까요?
  • @웹지기

    위의 코드만 보면 폴더도 다 될 것 같은데요... 이상하네요. 다른 규칙이랑 충돌하는 걸까요?

    아, 그리고 ip에서 도메인으로 리다이렉트할 때는 301 쓰지 말고 302 쓰세요. SEO와 전혀 관계가 없을뿐더러, 301은 브라우저에서 몇 달이고 몇 년이고 캐싱하기 때문에 나중에 ip로 접속하여 뭔가를 테스트해야 할 때 무조건 도메인으로 리다이렉트되는 난감한 일이 발생합니다.

  • @기진곰
    네.. 302로 고칠게요. 근데 저렇게 하면 폴더이하까지 주소를 입력하면 아이피로접속되어버려요.

    아이피주소까지만 입력해야만 도메인으로 전환이 됩니다.
  • @웹지기
    .htaccess에 이것저것 많이 넣어두셨다면 위쪽의 다른 규칙과 충돌할 수도 있어요. 특히 [L]로 선언한 규칙은 실행 조건이 맞을 경우 그 아래의 규칙을 모두 무력화시켜 버리니까, 가능하면 저것을 맨 위에 올려 보세요.
  • @기진곰
    일단 상단으로해도 되지 않네요. 하위폴더는 일단 포기하고 아이피주소까지만 으로 접속되는 경우만 처리하는 것으로 오늘은 마무리 해야 될 것 같습니다. 조언 감사합니다.