ConoHa Object Storage (OpenStack Swift)에서 웹 게시 된 초 긴 URL을 줄이는 방법

ConoHa 객체 스토리지 URL 문제



ConoHa의 오브젝트 스토리지(OpenStack Swift)에서 공개한 URL은 절망적으로 긴 URL이 되는 것이 아래의 마지막 기사에서 알 수 있었습니다.
ConoHa 객체 스토리지의 정적 웹 페이지 게시 기능으로 이미지 갤러리 만들기

대변 ​​긴 URL의 예
htps : // 오 b ぇ cts 토레 r1 n d1001. c 때문에. jp / v1 / 93 A 6500c0 A1E 4c68b976 E5E 46527145c / bg_ mp / / ie x. HTML
htps : // 오 b ぇ cts 토레 r1 n d1001. c 때문에. jp / v1 / 93 A6500c0 A1E 4c68b976 E5E 46527145c / bg_s mp / ups s / DSC02403. JPG

링크 태그, 이미지 태그 등 HTML에 포함하는 타입의 용도로 사용한다면 이 긴 URL이라도 좋지만, 이 긴 URL에는 몇가지 문제가 있습니다.
  • 귀하의 서버가 ConoHa의 객체 스토리지를 사용하고 있음을 알 수 있습니다
  • 오브젝트 스토리지 엔드 포인트 (93a6500c0a1e4c68b976e5e46527145c 부분)가 둥글게 보입니다
  • 대변 긴 URL 때문에 그대로 SNS나 게시판 등에 붙이면 길어서 모두에게 싫어한다

  • ・・・라고 보안적으로도 편리하게도 별로 갈 수 없는 사양이 되어 버립니다.

    이 문제는 Nginx에서 역방향 프록시로 해결할 수 있습니다.

    Nginx를 사용하여 ConoHa 객체 스토리지 URL을 줄이기





    필요한 것


  • 개체 저장소 웹 게시된 컨테이너
  • Nginx가 세워지는 서버(ConoHa VPS나 사쿠라 서버 등) 설명에서는 호스트명을 hoge.com으로 한다.
  • 짧은 도메인 (선택 사항) 여기서는 hoge.com의 도메인을 얻고 있다고 가정합니다

  • ConoHa의 오브젝트 스토리지에 web_pub_test 폴더 (컨테이너)를 작성하여 WEB 공개 모드로 설정



    swift 명령 등을 사용하여 web_pub_test 폴더 만들기

    chino 명령 의 경우는 이하mkdir web_pub_testecho "Hello" > web_pub_test/test_file.txtbundle exec ruby chino.rb -w -s ./web_pub_test/ -d /web_pub_test

    VPS 서버에 Nginx 설치



    CentOS의 경우yum install nginx또는 다음 사이트에서 최신 버전을 가져와
    h tp : // 근진 x. 오 rg/파c게이 s/r에 l/6/x86_64/RPMS/curl -O XXXX.rpmrpm -ivh XXXX.rpm
    설치를 위해 nginx 서버가 시작되었습니다.

    설정 파일 재작성



    /etc/nginx/conf.d/default.conf
    server {
        listen       80;
        server_name  localhost;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
        location /x/ {
            proxy_pass https://objectstore-r1nd1001.cnode.jp/v1/93a6500c0a1e4c68b976e5e46527145c/web_pub_test/;
        }
    }
    

    location 이후가 프록시 서버 설정입니다.
    h tp:// 이 m/x 이후에 요청이 올 때 ConoHa의 객체 스토리지(web_pub_test 폴더)에 요청을 전달하도록 설정한다.

    Nginx 리로드


    nginx -s reload

    ConoHa의 객체 스토리지에 짧은 URL로 액세스 가능



    위의 설정으로 브라우저에서
    h tp:// 이 m/x/에서 st_후아. txt에 액세스하면 역방향 프록시됨
    htps : // 오 b ぇ cts 토레 r1 n d1001. c 때문에. jp / v1 / 93 A6500c0 A1E 4c68b976 E5E 46527145c / u b_pu b_ st / st_fu. txt
    의 내용이 표시됩니다.

    ConoHa 객체 스토리지 + Nginx 리버스 프록시 사용법



    ConoHa의 객체 스토리지 또는 OpenStack의 Swift를 사용하여 파일을 웹 게시하는 경우 본격적으로 사용하려고하면
    URL이 긴 문제에 반드시 맞는 것 같습니다.
    그런 때는 빨리 Nginx의 리버스 프록시 기능으로 URL을 짧게 해 버립니다.

    좋은 웹페이지 즐겨찾기