stream_socket_enable_crypto() 오류: 코드 1로 인해 SSL 작업 실패
Amazon EC2 Linux에서 PHP 5.6 및 GoDaddy SSL 인증서를 사용하는 경우 SSL을 통해 Mailgun 또는 기타 SMTP 서비스를 사용하여 이메일을 보내는 동안 오류가 발생할 수 있습니다:
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
근본 원인
이 오류는 PHP에 도입된 더욱 엄격한 SSL 인증서 확인으로 인해 발생합니다. 5.6. 기본적으로 PHP는 인증서의 도메인 이름과 비교하여 URL의 도메인 이름을 확인합니다. GoDaddy의 SSL 인증서는 와일드카드 인증서이므로 서버의 특정 도메인 이름과 일치하지 않습니다.
해결 방법
이 문제를 해결하는 방법에는 두 가지가 있습니다.
옵션 1: 인증서 확인 비활성화
<code class="php">'stream' => [ 'ssl' => [ 'allow_self_signed' => true, 'verify_peer' => false, 'verify_peer_name' => false, ], ],</code>
주의: 인증서 확인을 비활성화하면 애플리케이션의 보안이 손상될 수 있습니다. 대신 옵션 2를 사용하거나 PHP 7.2 이상으로 업그레이드하는 것이 좋습니다.
옵션 2: PHP 업그레이드
PHP 버전 7.2 이상에는 이에 대한 수정 사항이 포함되어 있습니다. 문제. PHP 버전을 업그레이드하면 이 오류가 해결되고 애플리케이션의 보안이 유지됩니다.
위 내용은 PHP 5.6 및 GoDaddy SSL을 사용하여 \'stream_socket_enable_crypto(): 코드 1로 인해 SSL 작업 실패\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!