업데이트

업데이트

나는 mod_ssl을 사용하여 Windows에서 Apache 2.0으로 SSL을 설정하는 방법을 배우려고 노력해 왔으며 mod_ssl.so 파일이 모듈 디렉토리에 있고 구성 파일이 conf 디렉토리(httpd-ssl.conf)에 포함되어 있는지 확인했습니다. mod_ssl.so에 대한 LoadModule 옵션의 주석 처리를 제거하여 모듈을 활성화했습니다.

자체 서명된 인증서를 생성하고 crt 파일과 키 파일을 모두 conf 디렉터리에 배치했습니다.

내 SSL 구성 파일의 정보는 다음과 같습니다.

<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
ServerName localhost:443
ServerAlias localhost:443
SSLEngine on
SSLEnable
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCertificate "D:/Dev-Ops/apache/Apache2/conf/server.key"
</VirtualHost>

나는 여기서 뭔가 잘못된 일을 하고 있을 것이라고 확신합니다. (나는 Apache와 이 모든 것의 초보자입니다.) 현재 다음과 같은 오류가 발생합니다.

D:/Dev-Ops/apache/Apache2/conf/httpd-ssl.conf의 8행에 구문 오류가 있습니다. 'SSLEnable' 명령이 잘못되었습니다. 철자가 잘못되었거나 서버 구성에 포함되지 않은 모듈에 의해 정의되었을 수 있습니다.

내 질문은 다음과 같습니다

  1. mod_ssl이 작동하려면 컴퓨터에 OpenSSL을 설치해야 합니까(이미 설치되어 있습니까)? 그렇다면 둘 다 서로 통신할 수 있도록 구성해야 하는 것이 있습니까?

  2. 위의 VirtualHost 구성에 어떤 문제가 있습니까? 그리고 그것을 바로잡으려면 어떻게 해야 하나요?

  3. 모든 Apache 버전에는 특정 버전의 mod_ssl이 있어야 합니까? 그렇다면 다운로드할 바이너리 mod_ssl.so 파일을 어디에서 얻을 수 있습니까?(이 작은 파일을 찾는 것은 매우 어렵습니다! 아니면 제가 잘못된 위치를 찾고 있는 것입니까!), 특정 버전의 mod_ssl이 있어야 하는 경우, 무엇입니까? Apache 2.0에 가장 적합한 버전이 될까요?

  4. 위에서 언급한 오류의 원인은 무엇입니까? (내 파일이 모든 구성 지시문이 활성화된 올바른 위치에 있는지 확인했습니다.)

  5. Apache 웹 서버와 프로덕션 환경의 다양한 애플리케이션에 대해 자세히 알아볼 수 있는 좋은 장소/책/링크를 제안해 주실 수 있나요?

누군가 나를 곧 도와줄 수 있나요? 귀하의 모든 도움에 감사드립니다.

업데이트

가상 호스트를 다음으로 제거했습니다.

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

브라우저에 다음 오류가 표시됩니다.

여기에 이미지 설명을 입력하세요

다음 구성 지시어로 동일한 작업을 시도할 때(SSLEngine 사용)

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLEngine on
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

error.log 파일에서 다음 오류가 발생합니다.

[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file D:/Dev-Ops/apache/Apache2/conf/server.cert)

나는 암호 문구를 제거하고 인증서를 재생성하여 기존 인증서를 새로 생성된 인증서로 교체하는 방법에 대해 상당한 연구를 수행했습니다. 그러나 그것은 나에게 트릭을 수행하지 않는 것 같습니다! 문제가 되는 것이 내 mod-ssl 버전인지 궁금해지기 시작했습니다(내 아파치 버전과 호환되는지 여부를 어떻게/어디에서 찾을 수 있습니까! 그리고 호환되지 않는 경우 . 그래서 일을 바로잡기 위해 파일을 제출하세요!)

누군가 나에게 이것을 설명해 줄 수 있습니까? 이 문제를 해결하도록 도와주세요!

답변1

mod_ssl이 작동하려면 컴퓨터에 OpenSSL을 설치해야 합니까(이미 설치되어 있습니까)? 그렇다면 둘 다 서로 통신할 수 있도록 구성해야 하는 것이 있습니까?

어떻게 설치했는지에 따라 다릅니다. 로 끝나는 MSI를 사용해야 하며 -win32-x86-openssl필요한 모든 것을 갖추고 있어야 합니다.

위의 VirtualHost 구성에 어떤 문제가 있습니까? 그리고 그것을 바로잡으려면 어떻게 해야 하나요?

Remove SSLEnable, 유효한 지시어가 아닙니다.

모든 Apache 버전에는 특정 버전의 mod_ssl이 있어야 합니까? 그렇다면 다운로드할 바이너리 mod_ssl.so 파일을 어디에서 얻을 수 있습니까?(이 작은 파일을 찾는 것은 매우 어렵습니다! 아니면 제가 잘못된 위치를 찾고 있는 것입니까!), 특정 버전의 mod_ssl이 있어야 하는 경우, 무엇입니까? Apache 2.0에 가장 적합한 버전이 될까요?

첫 번째 질문에 대한 답변을 확인하세요. 올바른 MSI에서 설치해야 할 것 같습니다. 파일 .so에는 작동하는 SSL 설정을 얻는 데 필요한 모든 것이 포함되어 있지 않습니다.

위에서 언급한 오류의 원인은 무엇입니까? (내 파일이 모든 구성 지시문이 활성화된 올바른 위치에 있는지 확인했습니다.)

두 번째 질문에 대한 답변을 참조하세요.

Apache 웹 서버와 프로덕션 환경의 다양한 애플리케이션에 대해 자세히 알아볼 수 있는 좋은 장소/책/링크를 제안해 주실 수 있나요?

문서는 시작하기에 좋은 곳입니다.여기에 좋은 자료가 있을 수 있으며 인터넷에는 수많은 Howto 문서가 있습니다.

답변2

당신은 읽어야합니다mod_ssl 문서. 거기에는 지시문이 없다는 것을 알 수 있습니다 SSLEnable.

관련 정보