Apache Mod_SSL에 SSL 인증서 설치

SSL을 사용하여 Apache 구성

다음 지침에서는 두 보안 서버 (포트에서 443) 및 일반 서버 (포트 80). 먼저 두 포트에서 수신하도록 서버를 구성해야합니다. 편집 /etc/apache2/ports.conf (데비안에서는;이 내용은 apache2.conf) 또는 수정 /etc/apache2/apache2.conf 줄을 포함하도록 직접 :

들어 80 들어 443

다음으로, 편집 /etc/apache2/sites-enabled/yoursite SSL 설정을 사용합니다. VirtualHosts를 사용하여 일반 및 보안 서버 설정을 분리하는 것이 유지 관리 측면에서 가장 쉬운 옵션입니다. VirtualHosts 섹션 외부의 모든 구성 (예 : ServerAdmin 설정)은 두 VirtualHost 모두에 적용됩니다.

참고 : Apache 2.4.8부터는 서버 인증서와 중간 인증서 체인을 별도의 파일로 유지하는 방법이 더 이상 사용되지 않습니다. 현재 방법과 기존 방법 모두 아래 클릭 가능 탭에 자세히 나와 있습니다.
아파치 2.4.8 이상아파치 2.4.7 이하

Apache 2.4.8 이상의 버전에서는 서버 인증서가 하나의 파일에있는 중간 인증서와 연결될 것으로 예상합니다. SSL.com에서 체인 파일을 다운로드하려면 Nginx 포털 계정의 다운로드 링크 :

Nginx에

또는 다음과 같은 명령을 사용하여 기존 인증서와 중간 파일을 연결할 수 있습니다.

$ cat /etc/ssl/private/ca-bundle-client.crt >> /etc/ssl/private/yourdomain.crt

구성 파일에 다음 섹션을 추가하십시오.

# =============================================== # SSL /TLS 설정 # =============================================== = NameVirtualHost * : 443 DocumentRoot "/ var / www / yoursite"SSLCertificateFile /etc/ssl/private/yourdomain.chained.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key의 SSLEngine

이 구성에 대한 몇 가지 참고 사항 :

  • SSLEngine 서버가 SSL을 사용하도록 설정해야합니다.
  • DocumentRoot 이 가상 호스트의 루트 디렉토리를 설정합니다. 즉, 보안 컨텐츠를 일반 컨텐츠와 완전히 분리 할 수 ​​있습니다.
  • SSLCertificateFile 서버 인증서 및 중간 체인과 함께 파일을 넣는 위치로 설정해야합니다.
  • SSLCertificateKeyFile 개인 키 파일을 저장할 위치로 설정해야합니다.

구성 파일에 다음 섹션을 추가하십시오.

# =============================================== # SSL /TLS 설정 # ============================================== = NameVirtualHost * : 443 DocumentRoot "/ var / www / yoursite"SSLCertificateFile /etc/ssl/private/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key SSLCertificateChainFile / etc / ssl / private / ca-bundle- client.crt

이 구성에 대한 몇 가지 참고 사항 :

  • SSLEngine 서버가 SSL을 사용하도록 설정해야합니다.
  • DocumentRoot 이 가상 호스트의 루트 디렉토리를 설정합니다. 즉, 보안 컨텐츠를 일반 컨텐츠와 완전히 분리 할 수 ​​있습니다.
  • SSLCertificateFile, SSLCertificateChainFile,SSLCertificateKeyFile 인증서, 중간 및 개인 키 파일을 각각 저장할 위치로 설정해야합니다.

포트 80에서 일반 서버를 실행하려면 구성 파일에 다음 섹션을 추가하십시오.

NameVirtualHost * : 80 DocumentRoot "/ var / www / yoursite"# 호스트 별 디렉토리 설정, 옵션 등 # 이러한 옵션의 대부분은 VirtualHosts # 섹션 외부에서 설정 될 수 있습니다.

편집 한 구성 파일을 저장 한 후 웹 서버를 다시 시작하십시오. 인증서를 생성 할 때 암호를 사용한 경우 인증을받을 때 입력해야합니다.

지원

컨텐츠가 아직없는 경우 웹 서버의 루트 디렉토리가있는 곳에 기본 index.html 페이지를 작성하십시오.

그런 다음 웹 브라우저에서 https://www.yoursite.com. SSL 연결이 열리고 페이지가 전달 된 것을 볼 수 있습니다. 자체 서명 된 인증서를 사용하는 경우 브라우저에서 서버의 ID를 확인할 수 없다는 경고를 표시합니다. 인증서를보고 수락하도록 선택할 수 있습니다. 외부 인증서를 사용하는 경우 모든 작업이 개입없이 수행되어야합니다.

http : //를 사용하여 보호 된 콘텐츠에 액세스 할 수 없는지 확인하십시오. 시도하면 오류 메시지가 표시됩니다.

문제해결

예상대로 작동하지 않으면 먼저 서버가 실제로 실행 중인지 확인하십시오. ps -a | grep apache. 아무 것도 반환되지 않으면 다시 시작하고 터미널에서 오류 메시지를 확인하십시오.

또한 키 및 인증서 파일에 대한 권한과 테스트 HTML 파일 및 상위 디렉토리에 대한 권한이 올바르게 설정되어 있는지 확인하십시오 (위 참조).

다음으로 로그를 확인하십시오. 위의 구성 파일에서 설정 한 주 서버 로그와 SSL 로그를 모두 확인해야합니다. 유용한 정보가 없으면 Apache2 구성 파일의 LogLevel 값을 "debug"로 변경하고 Apache2를 다시 시작한 다음 다시 테스트하십시오. 이것은 더 많은 로그 파일 데이터를 제공해야합니다.

포트 80에서도 일반 웹 서버를 실행하는 경우 https : // 대신 http : //를 통해 테스트 페이지를 가져 와서 문제가 웹 서버에 있는지 아니면 SSL 연결에 있는지 식별하는 데 도움이됩니다. 위의 설정에서 웹 서버의 루트 디렉토리는 http : // 및 https : //에 대해 다르므로 동일한 콘텐츠에 액세스 할 수 없습니다 (또는 액세스 할 수 없습니다!). http : // 루트 디렉토리의 테스트 페이지가 제대로 작동하고 https : // 루트 디렉토리의 테스트 페이지가 작동하지 않는 경우 문제를 정확히 파악하는 데 도움이 될 수 있습니다.

문제가 SSL 연결 인 경우 유용한 도구는 s_client문제 해결을위한 진단 도구입니다. TLS/ SSL 연결. 기본 사용법은 다음과 같습니다. /usr/bin/openssl s_client -connect localhost:443. 설명서를 확인할 수있는 다른 옵션도 많이 있습니다. 오류 메시지가 표시되면 문제를 찾는 데 도움이됩니다.

SSL.com을 선택해 주셔서 감사합니다! 문의 사항이 있으시면 이메일로 연락주십시오. Support@SSL.com, 전화 1-877-SSL-SECURE페이지 오른쪽 하단에있는 채팅 링크를 클릭하십시오.

SSL.com의 뉴스 레터 구독

SSL.com의 새로운 기사 및 업데이트를 놓치지 마십시오

최신 정보를 얻고 보안을 유지하세요

SSL.com 사이버 보안 분야의 글로벌 리더입니다. PKI 그리고 디지털 인증서. 최신 업계 뉴스, 팁, 제품 공지 사항을 받아보려면 등록하세요. SSL.com.

우리는 귀하의 피드백을 환영합니다

설문조사에 참여하여 최근 구매에 대한 의견을 알려주세요.