Folgende Konfiguration bisher:
Ich habe mehrere kleine lokale HTTP-Dienste laufen.
Um auch von außerhalb darauf zuzugreifen habe ich einen nginx Reverse Proxy laufen welcher diesen Diensten noch SSL(TLS) hinzufügt, so dass diese nur per HTTPS zu erreichen sind (Zertifikat von letsencrypt). Dazu kommt noch eine HTTP-Authentification. Läuft wunderbar.
Nun jedoch habe ich auch noch einen lokalen Mail-Server (davmail). Dieser läuft ohne verschlüsselten Zugriff.
Was ich nun eigentlich möchte ist, dass dieser Mailserver genauso wie die HTTP-Dienste über den nginx-Reverse-Proxy von außerhalb zu erreichen ist und der Reverse-Proxy den Zugriff hierauf noch mit SSL/TLS "anreichert".
Folgendes ist mein letzter wesentlicher Konfigurationsstand:[code][...]
mail {
server_name my.domain.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/my.domain.com/privkey.pem; # managed by Certbot
ssl_trusted_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
# IMAP reverse-proxy
# should listen to 993 and serve the imap-data from 192.168.0.6 with transport encryption
server {
listen 993 ssl;
protocol imap;
proxy on;
# dummy authentification (see http-block below)
auth_http localhost:8008/auth-imap;
}
}
http {
[...]
# dummy authentification server
server {
listen 8008;
server_name localhost;
location /auth-imap {
add_header Auth-Status OK;
add_header Auth-Server 192.168.0.6; # backend ip
add_header Auth-Port 1143; # backend port
return 204;
}
}
# example http ssl encryption proxy server
server {
server_name my.domain.com;
listen 443 ssl http2; # managed by Certbot
listen [::]:443 ssl http2;
ssl_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/my.domain.com/privkey.pem; # managed by Certbot
ssl_trusted_certificate /etc/letsencrypt/live/my.domain.com/fullchain.pem;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
[...]
location /example {
proxy_pass http://192.168.0.99/admin;
proxy_buffering off;
}
}
}[/code]
Leider schaffe ich es nicht von einem Mailprogramm mit dieser Konfiguration die Mails abzufragen.
Für Tipps zu meinen Denkfehlern und wie ich es richtig machen muss wäre ich sehr dankbar.