월 500 엔 ~ IDCF 클라우드의 서버에서 Let's Encrypt를 사용하여 https 통신

스스로 세운 API로 SSL 통신을 시키려고 생각했다



이 기사 ( 번역: WebAPI 디자인 모범 사례 )를 보면 API는 SSL 통신이어야한다는 것이었기 때문에

애니슨 정보를 얻는 RESTfulAPI를 공개했습니다.

에서 공개한 API에 무료로 사용할 수 있는 것 같은 Let's Encrypt의 증명서를 사용해 https통신에 대응시켜 보았습니다.

Let's Encrypt를 사용하기 전에 확인



Qiita: Let's Encrypt로 무료 SSL 인증서 받기 보다

취득 전에 확인하는 것


  • 우선 도메인명을 취득하고 있는 것.
  • 그 도메인명을 DNS 등록해 IP 주소에 이름 해석하고 있는 것
  • 만료 시에 가까이 오는 메일의 수신용 메일 주소를 결정한다.

  • 환경



    기계는 IDCF 클라우드의 light.S1 타입
    IDCF 클라우드는 최소 월 500엔부터 IaaS를 이용할 수 있으므로 클라우드+리눅스 주위의 공부에 좋을지도 모른다.
    라고 할까 환경 구축으로부터 무엇부터 무엇까지 엄청 공부가 되었고 공식의 문서도 충실하고 있으므로 Web계 초보자에게 매우 추천입니다.





    OS
    CentOS 7.4.1708

    httpd
    아파치 2.4.6


    IDCF 클라우드 관리 콘솔에서 준비



    아래 그림과 같이 HomePageServer01이라고 하는 머신으로 Web 서버가 움직이고 있어, https 통신 대응시키고 싶다고 한다.


    1. 먼저 IP 주소 메뉴를 열고 HomePageServer01이 속한 IP 주소를 클릭합니다.





    2. 설정 화면이 나오므로 방화벽 탭을 열고 https 통신용 포트(443) 추가





    3. 포트 포워드 탭에서 공용 포트 443에 대한 액세스를 HomepageServer01의 443 포트로 전달하도록 구성





    이것으로 관리 콘솔에서의 아래 준비는 완료.

    Let's Encrypt에서 얻은 인증서를 apache에 적용하여 https 통신을 허용합니다.



    이쪽은 위에서 인용시켜 준 기사의 내용을 그대로 했습니다.

    Qiita : Let's Encrypt로 무료 SSL 인증서 받기

    콘솔에서 명령을 두드린 후 조금 번거롭습니다.
    한번 설정하면 나머지는 명령 하나로 증명서의 갱신을 할 수 있으므로 매우 편하네요.
    cron에서 정기적으로 명령을 실행하려면 으로 하면 완전히 자동으로 갱신할 수 있습니다.
    80일마다 실행하도록 설정했습니다.

    http의 모든 액세스를 https로 리디렉션



    ※이쪽은 API에서는 그다지 추천되어 있지 않은 것 같습니다.
    블로그나 Web어플리로 필요해 질지도.

    이 기사의 설정을 그대로 추가했습니다.

    apache에서 http에 대한 액세스를 https로 자동 리디렉션

    rewritemodule 매우 편리합니다.

    블로그와 API 서버를 동일한 컴퓨터에서 운영하기 때문에
    API에 액세스하는 경우 리디렉션하지 않고 오류를 제대로 반환해야합니다.
    앞으로의 과제군요.

    마지막으로



    조사 시작하고 나서의 30분 정도로 https 통신 대응할 수 있었습니다.

    Let's Encrypt는 이해하기 쉽고 선생님 덕분입니다.

    웹 주위의 이해의 속도가 점점 올라가고 있는 것은 매우 기쁜 한입니다.

    API 도 부디 잘 부탁드립니다.

    좋은 웹페이지 즐겨찾기