>  기사  >  백엔드 개발  >  PHP 5.6 및 GoDaddy SSL을 사용하여 \'stream_socket_enable_crypto(): 코드 1로 인해 SSL 작업 실패\' 오류를 해결하는 방법은 무엇입니까?

PHP 5.6 및 GoDaddy SSL을 사용하여 \'stream_socket_enable_crypto(): 코드 1로 인해 SSL 작업 실패\' 오류를 해결하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-19 10:06:30377검색

How to Resolve

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.