WP Migrate DB Pro (한국어)
HTTPS를 로컬로 설정하는 것은 까다로운 작업 일 수 있습니다. 자체 서명 된 인증서를 제출에 사용하더라도 여전히 브라우저 개인 정보 오류가 발생합니다. 이 문서에서는 HTTPS 사이트를 문제없이 로컬에서 실행할 수 있도록 로컬 서버에 대한 자체 인증 기관을 만드는 방법을 살펴 봅니다.
HTTPS를 로컬로 사용해야하는 이유
일반 HTTP를 로컬에서 사용 하시겠습니까? 프로덕션 사이트가 HTTPS 전용이고 일반 HTTP에서 로컬로 개발하는 경우 개발 및 프로덕션 환경이 비슷하지 않기 때문입니다. 예를 들어이 사이트 (deliciousbrains.com)의 개발 환경은 Mac의 VMware 가상 머신 (VM)에서 Ubuntu 서버로 실행됩니다. 프로덕션 사이트는 거의 동일한 구성으로 Linode에서 실행되는 Ubuntu 서버입니다.
개발 환경이 프로덕션을 최대한 가깝게 미러링하기를 원합니다.
그렇지 않으면 더 많은 문제를 초대합니다. dev에 표시되지 않은 프로덕션에 표시됩니다. 프로덕션 사이트가 HTTPS 전용 일 때 HTTP를 실행하는 것은 확실히 불필요한 위험입니다.
하지만 SSL 인증서를 처리하는 도구를 사용하지 않는 경우 로컬 서버에서 작동하는 SSL 인증서를 얻으려는 시도는 짜증납니다. Valet를 좋아합니다.
HTTPS 사이트를 로컬에서 실행 해 본 적이 있다면 Chrome에서 다음과 같은 것을 보았을 것입니다.
해결 방법은 자체 서명 된 인증서를 만들고이를 사용하는 것입니다. MAMP Pro는 당신을 위해이 일을했으며 수년 동안 나의 선택이었습니다. 안타깝게도 더 이상 불가능합니다. 현대적인 접근 방식은 자신의 CA (인증 기관)가되는 것입니다!
작동 방식
Verisign 또는 GoDaddy와 같은 CA에서 SSL 인증서를 요청하려면 인증서 서명을 보냅니다. 요청 (CSR)은 루트 인증서와 개인 키를 사용하여 서명 한 대가로 인증서를 제공합니다. 모든 브라우저에는 Verisign의 루트 인증서 사본 (또는 운영 체제의 사본에 액세스)이 있으므로 브라우저는 인증서가 신뢰할 수있는 CA에서 서명되었는지 확인할 수 있습니다.
그래서 자체 인증서를 생성 할 때 서명 된 인증서는 브라우저가 신뢰하지 않습니다. 자체 서명입니다. CA에서 서명하지 않았습니다. 그러나 자체 루트 인증서와 개인 키를 생성 할 수 있습니다. 그런 다음 우리가 소유 한 모든 장치에 루트 인증서를 한 번만 추가하면 생성하고 서명 한 모든 인증서가 본질적으로 신뢰됩니다.
(작은) 인증 기관되기
인증 기관이되는 데 필요한 파일을 생성하는 것이 얼마나 쉬운 지 우스꽝 스럽습니다. 두 개의 명령 만 필요합니다. 먼저 개인 키를 생성합니다.
암호를 입력하라는 메시지가 표시됩니다. 건너 뛰거나 안전하게 보관하지 않는 것이 좋습니다. 암호문은 개인 키를 얻은 사람이 자신의 루트 인증서를 생성하는 것을 방지합니다. 출력은 다음과 같이 표시됩니다.
그런 다음 루트 인증서를 생성합니다.
개인 키의 암호를 입력하라는 메시지가 표시됩니다. (방금 선택한 것) 및 많은 질문. 이러한 질문에 대한 답변은 그다지 중요하지 않습니다. 인증서를 볼 때 표시되며 거의 절대하지 않습니다. 다른 인증서 목록에서 루트 인증서로 인식 할 수있는 일반 이름을 만드는 것이 좋습니다. 이것이 정말로 중요한 유일한 것입니다.
이제 myCA.key (개인 키)와 myCA.pem (루트 인증서)의 두 파일이 있어야합니다. ).
🎉 축하합니다. 이제 CA가 되셨습니다. 일종의.
실제 CA가 되려면 전 세계 모든 장치에서 루트 인증서를 받아야합니다. 소유 한 인증서부터 시작하겠습니다.
루트 인증서 설치
HTTPS 사이트에 액세스 할 모든 랩톱, 데스크톱, 태블릿 및 휴대폰에 루트 인증서를 추가해야합니다. . 이것은 약간의 고통 일 수 있지만 좋은 소식은 한 번만하면된다는 것입니다. 루트 인증서가 각 기기에 있으면 만료 될 때까지 유효합니다.
macOS 키 체인에 루트 인증서 추가
CLI를 통해
UI를 통해
- macOS 키 체인 앱 열기
- 파일로 이동 > 항목 가져 오기…
- 개인 키 파일 (예 : myCA.pem)을 선택합니다.
- 위의 일반 이름 이름으로 답한 내용을 검색합니다.
- 목록에서 루트 인증서를 두 번 클릭
- 신뢰 섹션을 확장합니다.
- 이 인증서를 사용할 때 : 선택 상자를 “항상 Trust”
- 인증서 창 닫기
- 비밀번호 입력 (또는 손가락 스캔)을 요청합니다. 그렇게하세요
- 🎉 축하 해요!
iOS에 루트 인증서 추가
iOS 장치에 루트 인증서를 추가하려는 경우 다음 단계에 따라 매우 쉽게 수행 할 수 있습니다.
- iOS 기기에서 액세스 할 수 있도록 루트 인증서를 본인에게 이메일로 보냅니다.
- iOS 기기에서 이메일에있는 첨부 파일을 클릭합니다.
- 설정 앱으로 이동하여 상단의 ‘프로필 다운로드 됨’을 클릭합니다.
- 오른쪽 상단의 설치를 클릭합니다.
- 설치되면 닫기를 누르고 기본 설정 페이지로 돌아갑니다.
- “일반”으로 이동 > “정보”
- 아래로 스크롤하여 “인증서 신뢰 설정”을 클릭합니다.
- “루트 인증서에 대한 전체 신뢰 활성화”에서 루트 인증서를 활성화합니다.
사용자를위한 CA 서명 인증서 만들기 개발 사이트
이제 모든 기기에서 CA가되었으므로 HTTPS가 필요한 새로운 개발 사이트에 대한 인증서에 서명 할 수 있습니다. 먼저 개인 키를 만듭니다.
그런 다음 CSR을 만듭니다.
위에서했던 것과 동일한 질문을 모두 받게되며, 답변은 중요하지 않습니다. 사실, 다른 사람 옆에있는 목록에서이 인증서를 보지 않기 때문에 문제가 훨씬 적습니다.
다음으로 인증서를 생성하겠습니다. CSR, CA 개인 키, CA 인증서 및 구성 파일을 사용하지만 먼저 해당 구성 파일을 만들어야합니다.
구성 파일은 SAN (주체 대체 이름) 확장을 정의하는 데 필요합니다. 인증서의이 섹션 (예 : 확장)에 정의되어 있습니다.
구성 파일 (dev.deliciousbrains.com. ext)에는 다음이 포함됩니다.
openssl x509
명령을 실행할 것입니다. x509 명령은 루트 인증서 및 개인 키로 서명을 수행하는 데 필요합니다. Stack Overflow에서이 예제 구성 파일을 찾았는데 작동하는 것 같습니다.
이제 인증서를 생성하는 명령을 실행합니다.
이제 개인 키로 웹 서버를 구성 할 수 있습니다. 및 인증서. Linux 서버를 실행하는 경우 Ubuntu 20.04 시리즈에 WordPress 설치의 지침을 사용할 수 있습니다. MAMP를 사용하는 경우 UI를 사용하여 인증서 및 키 파일을 선택할 수 있습니다.
안타깝게도 MAMP (버전 5.7로 테스트 됨)는 CA를 사용하여 SSL 인증서를 생성하지 않으므로 지금은 수동 방법을 사용해야합니다.
다른 개발 사이트의 경우 인증서 생성의 마지막 부분을 반복 할 수 있으며 각 사이트에 대해 새 CA를 만들 필요가 없습니다.
셸 스크립트
속도를 높이기 위해 다음은 사용자의 목적에 맞게 수정할 수있는 편리한 셸 스크립트입니다.
결론
그렇기 때문에 로컬 인증서가되는 방법이 있습니다. 로컬 SSL 인증서에 서명하고 로컬 사이트에서 HTTPS를 사용할 수있는 권한. 이렇게하면 Chrome에서 ‘연결이 비공개가 아닙니다’라는 두려운 메시지가 사라지기를 바랍니다.