From bdcc1831656e495a59dbe8df3225f853ae7b90fc Mon Sep 17 00:00:00 2001 From: Dimitri Huisman Date: Wed, 27 Oct 2021 11:24:10 +0000 Subject: [PATCH] Redirect to configured ENV VAR for Admin/Webmail, further simplify nginx config. --- core/admin/mailu/sso/views/base.py | 5 ++++- core/nginx/conf/nginx.conf | 12 +----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/core/admin/mailu/sso/views/base.py b/core/admin/mailu/sso/views/base.py index 73552475..8a21884f 100644 --- a/core/admin/mailu/sso/views/base.py +++ b/core/admin/mailu/sso/views/base.py @@ -1,3 +1,4 @@ +from werkzeug.utils import redirect from mailu import models from mailu.sso import sso, forms from mailu.ui import access @@ -22,14 +23,16 @@ def login(): if form.validate_on_submit(): if str(form.target.data) == 'Admin': endpoint = 'ui.index' + destination = app.config['WEB_ADMIN'] elif str(form.target.data) == 'Webmail': endpoint = 'ui.webmail' + destination = app.config['WEB_WEBMAIL'] user = models.User.login(form.email.data, form.pw.data) if user: flask.session.regenerate() flask_login.login_user(user) - return flask.redirect(flask.url_for(endpoint)) + return flask.redirect(destination) else: flask.flash('Wrong e-mail or password', 'error') client_ip = flask.request.headers["X-Real-IP"] if 'X-Real-IP' in flask.request.headers else flask.request.remote_addr diff --git a/core/nginx/conf/nginx.conf b/core/nginx/conf/nginx.conf index 7f0449cc..0b122da6 100644 --- a/core/nginx/conf/nginx.conf +++ b/core/nginx/conf/nginx.conf @@ -183,21 +183,11 @@ http { location @webmail_login { return 302 /sso/login?next=ui.webmail; - } - - location ^~ /ui/webmail { - include /etc/nginx/proxy.conf; - return 302 {{ WEB_WEBMAIL }}; - } + } {% else %} {% endif %} {% if ADMIN == 'true' %} - location ^~ /ui { - include /etc/nginx/proxy.conf; - rewrite ^/ui/(.*) {{ WEB_ADMIN }}/ui/$1 redirect; - } - location {{ WEB_ADMIN }} { return 301 {{ WEB_ADMIN }}/ui; }