أحاول إعداد البريد الوارد لمثيل discourse مستضاف ذاتيًا خلف وكيل عكسي (http(s)، SMTP). النطاق العام: public.example.com، المضيف خلف الوكيل العكسي: internal.example.com. لقد اتبعت هذا الدليل ولكنني عالق ربما بسبب خطأ في الشهادة. أستخدم شهادات موقعة ذاتيًا للتشفير الداخلي بين الوكيل العكسي و حاويات discourse. يبدو أن حاوية البريد تواجه مشكلة مع الشهادة الموقعة ذاتيًا التي تقدمها حاوية discourse على الرغم من أنها شهادة متسلسلة. ماذا فعلت خطأ أو كيف يمكنني تصحيح المشكلة بشكل أكبر؟
إخراج السجل (ذو الصلة) لحاوية البريد المستقبل (./launcher logs mail-receiver) هو:
May 21 15:34:06 internal-mail-receiver postfix/qmgr[101]: BA3E16FDE7: from=<foo@example.com>, size=3836, nrcpt=1 (queue active)
<23>May 21 15:34:06 receive-mail[113]: Recipient: nobody@public.example.com<19>May 21 15:34:06 receive-mail[113]: Failed to POST the e-mail to https://internal.example.com/admin/email/handle_mail: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (OpenSSL::SSL::SSLError)<19>May 21 15:34:06 receive-mail[113]: /usr/lib/ruby/2.7.0/net/protocol.rb:44:in `connect_nonblock'
/usr/lib/ruby/2.7.0/net/protocol.rb:44:in `ssl_socket_connect'
/usr/lib/ruby/2.7.0/net/http.rb:1009:in `connect'
/usr/lib/ruby/2.7.0/net/http.rb:943:in `do_start'
/usr/lib/ruby/2.7.0/net/http.rb:932:in `start'
/usr/lib/ruby/2.7.0/net/http.rb:1483:in `request'
/usr/local/lib/site_ruby/mail_receiver/internal_mail_receiver.rb:43:in `process'
/usr/local/bin/receive-mail:13:in `<main>'May 21 15:34:06 internal-mail-receiver postfix/pipe[112]: BA3E16FDE7: to=<nobody@public.example.com>, relay=discourse, delay=0.39, delays=0.19/0.01/0/0.2, dsn=4.3.0, status=deferred (temporary failure)
ملف التكوين (الجزء ذو الصلة) mail-receiver.yml لحاوية البريد هو:
env:
POSTCONF_smtpd_tls_key_file: /ssl/ssl.key
POSTCONF_smtpd_tls_cert_file: /ssl/ssl.crt
POSTCONF_smtpd_tls_security_level: may
DISCOURSE_MAIL_ENDPOINT: 'https://internal.example.com/admin/email/handle_mail'
volumes:
- volume:
host: /var/discourse/shared/standalone/ssl
guest: /ssl
المفتاح الخاص ssl.key يحتوي على المفتاح الخاص للخادم (الداخلي). الشهادة المتسلسلة ssl.crt تحتوي على: شهادة الخادم + شهادة CA (كمستخدم جديد، لا يُسمح لي بتحميل ملف، وبالتالي لا يمكنني حاليًا تقديم ssl.crt).