diff --git a/admin/mailu/internal/nginx.py b/admin/mailu/internal/nginx.py index 3856737d..4c5cc334 100644 --- a/admin/mailu/internal/nginx.py +++ b/admin/mailu/internal/nginx.py @@ -6,6 +6,7 @@ import urllib SUPPORTED_AUTH_METHODS = ["none", "plain"] + STATUSES = { "authentication": ("Authentication credentials invalid", { "imap": "AUTHENTICATIONFAILED", diff --git a/admin/mailu/internal/views.py b/admin/mailu/internal/views.py index 04d3268a..179b0cf5 100644 --- a/admin/mailu/internal/views.py +++ b/admin/mailu/internal/views.py @@ -4,8 +4,10 @@ from mailu.internal import internal, nginx import flask -@internal.route("/nginx") +@internal.route("/auth/email") def nginx_authentication(): + """ Main authentication endpoint for Nginx email server + """ headers = nginx.handle_authentication(flask.request.headers) response = flask.Response() for key, value in headers.items(): diff --git a/nginx/conf/nginx.conf b/nginx/conf/nginx.conf index 320f4e0c..b684bbec 100644 --- a/nginx/conf/nginx.conf +++ b/nginx/conf/nginx.conf @@ -89,15 +89,15 @@ http { server { listen 127.0.0.1:8000; - location /internal { - proxy_pass http://admin; + location / { + proxy_pass http://admin/internal/; } } } mail { server_name {{ HOSTNAMES.split(",")[0] }}; - auth_http http://127.0.0.1:8000/internal/nginx; + auth_http http://127.0.0.1:8000/auth/email; proxy_pass_error_message on; {% if TLS and not TLS_ERROR %}