Я ищу в течение нескольких часов, бросил inte rnet, но не нашел ничего, что подойдет для моего случая.
У меня установлен mailu docker на моем сервере, и я хочу отправлять электронные письма с моего Приложение meteor бросило этот контейнер.
Я установил свою переменную MAIL_URL как process.env.MAIL_URL = 'smtps://USERNAME:PASSWORD@DOCKER-IP:465';
, и это работает, когда я использую также глобальную переменную NODE_TLS_REJECT_UNAUTHORIZED = 0
, но я не хочу использовать ее из соображений безопасности.
Когда я отправляю электронные письма из моего метеоритного приложения на моем ноутбуке и использую свой почтовый сервер mail.foo.com вместо docker -id, например smtps://USERNAME:PASSWORD@mail.foo.com:465
, это также работает. Так что снаружи у меня нет проблем, но когда я на сервере, я не могу использовать localhost, например smtps://USERNAME:PASSWORD@localhost:465
или smtps://USERNAME:PASSWORD@mail.foo.com:465
.
Как сказал @natevw в Node.js Hostname / IP не совпадает с альтернативными именами сертификатов :
Было бы лучше сначала выяснить, почему сертификат не авторизуется, и посмотреть, можно ли это исправить вместо этого.
Я бы сказал, что моя проблема в том, что внутренний docker -ip адрес не включен в сертификат. Поэтому, на мой взгляд, я бы сказал, что у меня есть два варианта:
- Я мог бы как-то добавить IP-адрес к сертификату
- Я мог бы использовать как-то локальное имя или доменное имя вместо внутреннего идентификатор контейнера
Но я, к сожалению, не знаю, как достичь одного из них.
Если вам нужны какие-то конфиги или что-то подобное, пожалуйста, прокомментируйте, и я отредактирую этот пост.
Заранее спасибо, Майкл