로컬 개발을 위한 자체 서명 SSL 인증서 구성

때로는 로컬 개발 환경을 프로덕션 환경에 최대한 가깝게 유지하는 것이 좋습니다.

이 게시물에서는 mkcert 이라는 프로젝트를 사용하여 자체 서명된 SSL 인증서를 구성하는 방법을 다룰 것입니다.
그 어느 때보다 쉽게 ​​자체 서명된 인증서를 생성, 설치 및 제거할 수 있습니다.

지침은 로컬 환경에 따라 약간 다릅니다.
  • Common
  • WSL2
  • Firefox on Windows

  • 흔한



    가장 먼저 필요한 것은 mkcert 또는 homebrew 을 통해 수행할 수 있는 homebrew for Linux을 설치하는 것입니다.

    $ brew install mkcert
    


    Firefox를 사용하려면 nss 도 설치해야 합니다.

    $ brew install nss
    


    다음으로 실행mkcert하고 인증서에 포함할 도메인 이름과 IP를 전달합니다.

    $ mkcert mywebsite.test localhost 127.0.0.1 ::1
    
    Created a new certificate valid for the following names 📜
     - "mywebsite.test"
     - "localhost"
     - "127.0.0.1"
     - "::1"
    
    The certificate is at "./mywebsite.test+3.pem" and the key at "./mywebsite.test+3-key.pem" ✅
    
    It will expire on 7 September 2023
    

    mkcert도 와일드카드를 허용하지만 일부 브라우저(Firefox)는 해당 인증서를 허용하지 않습니다.


    인증서가 생성된 후 설치 플래그와 함께 실행mkcert하여 로컬CA을 설치할 수 있습니다. 이 CA는 mkcert로 생성된 향후 모든 인증서에 서명하는 데 사용되므로 한 번만 수행하면 됩니다.

    $ mkcert -install
    

    mkcert를 사용하여 인증서를 처음 설치하는 경우 다음 출력이 표시되어야 합니다.

    The local CA is now installed in the system trust store! ⚡️
    # or...
    The local CA is already installed in the system trust store! 👍
    


    이 시점에서 생성된 인증서를 개발 서버에서 사용할 수 있습니다.

    플라스크




    $ flask run --cert=mywebsite.test+3.pem --key=mywebsite.test+3-key.pem
    


    울타리




    $ rails s -b 'ssl://127.0.0.1:3000?key=mywebsite.test+3-key.pem&cert=mywebsite.test+3.pem'
    


    WSL2



    WSL2을 실행하는 경우 Windows 10 호스트가 인증서의 유효성을 수락하도록 하기 위한 몇 가지 추가 단계가 있습니다.

    먼저 mkcert 을 사용하여 Windows에 chocolatey를 설치하려고 합니다.

    administrator user을 사용하여 Powershell 터미널을 열고 다음을 실행합니다.

    $ choco install mkcert
    


    그런 다음 이전과 같이 설치 플래그를 사용하여 mkcert를 실행합니다.

    # first set the CAROOT path to point to the root CA we generated on WSL2
    # you can get this directory by running mkcert -CAROOT from a WSL2 terminal
    # if we don't do this it will install a different root CA and we will get warnings
    $CAROOT="\\wsl$\Ubuntu\home\ashley\.local\share\mkcert\"
    $ mkcert -install
    The local CA is now installed in the system trust store! ⚡️
    Note: Firefox support is not available on your platform. ℹ️
    


    아래와 같은 팝업이 표시되어야 합니다. "예"를 클릭하여 Windows 10 호스트에 CA를 설치합니다.



    Windows의 파이어폭스



    설치된 후 Firefox를 수정하여 인증서가 유효하지 않다고 불평하지 않도록 합시다.

    그렇게 하려면 Firefox 브라우저를 열고 설정으로 이동하여 인증서를 검색합니다.



    "인증서 보기"를 클릭합니다.



    다음으로 "가져오기"를 클릭합니다. Linux 인스턴스에서 루트 CA를 찾으려고 합니다. 광산은 여기에 있지만 WSL2 Linux 배포판에 따라 다릅니다.

    \\wsl$\Ubuntu\home\ashley\.local\share\mkcert\rootCA.pem
    


    설치되면 인증 목록에 로컬 CA가 표시됩니다.



    이제 Windows 호스트의 Firefox에서 로컬 개발 서버를 방문하면 경고 없이 페이지가 로드되는 것을 볼 수 있습니다.

    파이어폭스





    가장자리





    크롬



    좋은 웹페이지 즐겨찾기