Phabricator에서 메일리어 구성

Phabricator에서 메일리어 구성

bitnami 이미지를 사용하여 새로 설치한 후 다음을 따랐습니다.지침메일러를 설정합니다.

다음과 같습니다:

[
  {
    "key": "stmp-mailer",
    "type": "smtp",
    "options": {
      "host": "server",
      "user": "user" ,
      "port": 587,
      "password": "passwd",
      "protocol": "tls"
    }
  }
]

그 후 테스트 앱에서 메일을 보내려고 하면 다음 메시지가 나타납니다.

EXCEPTION: (RuntimeException) stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed at [<arcanist>/src/error/PhutilErrorHandler.php:263]
arcanist(head=stable, ref.stable=ac54d61d7af2), phabricator(head=stable, ref.stable=86ad69863930)

약간의 검색 끝에 Arcanist에게 이렇게 말할 수 있다는 것을 알았습니다.인증서를 우회하다. 그러나 나는 arcanist를 사용하여 거의 모든 것을 실행할 수 없습니다. 샘플:

$  arc set-config https.blindly-trust-domains '["example.com"]'
[2020-12-14 18:48:55] EXCEPTION: (TypeError) Argument 1 passed to ArcanistBlindlyTrustHTTPEngineExtension::setDomains() must be of the type array, string given, called in /opt/bitnami/arcanist/scripts/arcanist.php on line 304 at [<arcanist>/src/configuration/ArcanistBlindlyTrustHTTPEngineExtension.php:10]
arcanist(head=stable, ref.stable=ac54d61d7af2)
  #0 ArcanistBlindlyTrustHTTPEngineExtension::setDomains(string) called at [<arcanist>/scripts/arcanist.php:304]

하지만 get-config를 실행하면 같은 일이 발생합니다

이 충돌은 정상적인 것입니까, 아니면 잘못된 구성입니까?

비전술사 버전: 비전술사 ac54d61d7af20f5d65ba889974f23a86bfb6cd57 (2020년 10월 19일)

-- 업데이트 --

다음 명령을 실행합니다.

openssl s_client -starttls smtp -connect MAIL_SERVER:587

인증서에서 몇 가지 오류가 발생합니다.

erify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = XXX
verify error:num=21:unable to verify the first certificate

그런 다음 인증서를 .pem 파일로 가져온 다음 update-ca-certificates를 사용하여 추가하려고 시도했는데 작동하는 것 같습니다. 그러나 나는 전혀 차이가 없다고 본다.

답변1

개별 구성요소를 테스트해 보세요. openssl을 직접 사용하여 arcanist를 문제의 원인으로 배제할 수 있습니다.

openssl s_client -starttls smtp -connect example.com:587 -servername example.com

대상 TLS 인증서가 올바르게 설정되어 있고 로컬 컴퓨터에서 확인되는지 확인한 다음 서버에서도 이를 확인할 수 있는지 확인하세요. 이러한 각 단계의 실패는 다른 문제를 나타냅니다. 대상 SMTP 서버에 만료되었거나 유효하지 않은 인증서가 있거나, SMTP 서버가 사용 중인 인증서를 확인할 수 있는 루트 인증서가 서버에 없을 수 있습니다.

모든 것이 제대로 작동하는 경우 출력에서 ​​다음을 찾고 있습니다.

Verify return code: 0 (ok)

두 테스트 모두 OK로 표시되면 문제의 원인인지 확인하기 위해 Arcanist에 디버깅 코드를 추가해야 할 수도 있습니다.

관련 정보