Mail proxy több domainel

Üdv!

E-mail szerver elé szeretnék egy nginx -et mail proxyként. Egy domain-nel működik is de több domain-t nem tudok beállítani ugyanarra az ip cimre. Azt gondoltam a virtuális hostokhoz hasonlóan a mail szekcióban is tudok majd virtuális hostokat configolni. Az nginx tudja ezt vagy más megoldás után kell néznem?

Köszönöm segítségeteket!

Hozzászólások

Szerkesztve: 2022. 11. 15., k – 04:39

Mit hívsz proxynak? Egy webes mail klienst? Nem értem. 

 

Update: egy  apache user értetlensége, nem tudtam erről a ficsőrről

Az nginx doksiban levő módon szokott működni:

https://docs.nginx.com/nginx/admin-guide/mail-proxy/mail-proxy/

A wikiben levő példa talán többet segít:

https://www.nginx.com/resources/wiki/start/topics/examples/imapauthenti…

A lényeg, hogy kell egy authentikációt végző szerver vagy script, ez fogja neked visszaadni, hogy milyen IP-re és portra kell irányítani a kapcsolatot SMTP/POP3/IMAP esetében is.

https://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer

Az miért jó, hogy mail proxynak egy nem mail proxyt akarsz használni? Az nginx nagyon jó HTTP(S) reverse proxynak, de IMAP-ra meg SMTP-re nem való.

Léteznek erre a feladatra alkalmas cuccok, amik valóban mail proxyk. Azokkal lenne érdemes kísérletezgetni: IMAP-ra teljesen jó a dovecot (POP3-ra is, de ott inkább a protokollt nem nagyon kéne már erőltetni így 2022 táján...), SMTP-re meg egy rendes MTA-t kéne használni.

Ez azért sem igaz, mert ez volt az első nginx használatunk. Azaz inkább azt mondanám, hogy szöget kaptunk a rögzítéshez és kerestünk hozzá kalapácsot, mert a csavarhúzó nem volt elég robusztus.

A dolog hátterében az áll, hogy így pop3/imap klienseket megfelelő háttér szerverekhez lehet irányítani, de akár le lehet tiltani protokoll szinten (IMAP-os fiókhoz ne csatlakozzon POP3-mal vagy fordítva) stb, elég rugalmas és teljesen megbízható.

Örülök, hogy vannak olyanok, akiknek megfelel ez a megoldás.

Csak mondom, azoknak, akik kissé körmönfont megoldásnak érzik azt, hogy a proxy mindenképpen authentikáljon, ráadásul még külön HTTP-alapú authentikációs szolgáltatást is kelljen tákolni ehhez, hogy vannak olyan megoldások, amik tudják az authentikációt pass-through módban is művelni, és elég nekik egy userdb hozzáférés, ami a kliens által bemondott usernév alapján még az authentikáció előtt megmondja, hogy melyik lesz a backend szerver, és a választ az authentikációra már a backend szerver mondja.

Az nginx-et reverse proxynak használom az imap és pop3 szerverek elé. Szeretnék minden domain-hez külön certifikátot használni. SMTP proxy már van postfix-el, ott már megoldottam az 1 domain - 1 cert összerendelést.

Szerkesztve: 2022. 11. 15., k – 20:37

Ha IMAP + SMTP proxy kell, akkor:

IMAP: dovecot + SQL
SQL-ben mailboxonként be tudod állítani hova csatlakozzon, tehát akár domain-nkét (de igazából mailboxonként) lehet eltérő IMAP szerver.
Egy sima pár mezős táblázat, email, dst IMAP ip v. host, etc ...

SMTP: exim
exim "server_condition"-al tud scriptet futtatni, egy kb. 30 soros script-el lehet IMAP-ból auth-olni, innentől (ha feltételezzük hogy cél IMAP, SMTP egy szerveren van) megy az auth is.

Stabilan, megbízhatóan működik, SQL-be user szinkront scriptel meg lehet oldani.

Ha már exim és dovecot, akkor eximhez nem kell scripteket gyártani erre, mivel kényelmesen és nagyon jól tud dovecot unix socketen keresztül authentikálni smtp esetén is:

https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_doveco…

https://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer

Szerintem NGINX nem a legjobb valasztas.

HAproxy vagy Traefik alkalmasabb. 

Dovecot tud POP3 IMAP proxyként működni! Csinált már valaki ilyet? van valakinek tutoriálja hozzá, mert hiába keresgélek a neten.