From 5d0c9d3b73024710f55cd220bfca4a5b622861ff Mon Sep 17 00:00:00 2001 From: Kristian Klausen <kristian@klausen.dk> Date: Sat, 30 Apr 2022 17:15:27 +0200 Subject: [PATCH] mailman: Add map for redirecting migrated lists to the ml3 interface --- roles/mailman/files/migrated-lists.map | 0 roles/mailman/tasks/main.yml | 4 ++++ roles/mailman/templates/nginx.d.conf.j2 | 8 ++++++++ 3 files changed, 12 insertions(+) create mode 100644 roles/mailman/files/migrated-lists.map diff --git a/roles/mailman/files/migrated-lists.map b/roles/mailman/files/migrated-lists.map new file mode 100644 index 000000000..e69de29bb diff --git a/roles/mailman/tasks/main.yml b/roles/mailman/tasks/main.yml index 800a41a04..0b6497435 100644 --- a/roles/mailman/tasks/main.yml +++ b/roles/mailman/tasks/main.yml @@ -49,6 +49,10 @@ - name: make nginx log dir file: path=/var/log/nginx/{{ lists_domain }} state=directory owner=root group=root mode=0755 +- name: install nginx mailman2->mailman3 redirect map + copy: src=migrated-lists.map dest=/etc/nginx/maps/ owner=root group=root mode=0644 + notify: reload nginx + - name: set up nginx template: src=nginx.d.conf.j2 dest="/etc/nginx/nginx.d/mailman.conf" owner=root group=root mode=644 notify: reload nginx diff --git a/roles/mailman/templates/nginx.d.conf.j2 b/roles/mailman/templates/nginx.d.conf.j2 index d292d493f..e8cd51c88 100644 --- a/roles/mailman/templates/nginx.d.conf.j2 +++ b/roles/mailman/templates/nginx.d.conf.j2 @@ -15,6 +15,10 @@ server { } } +map $uri $migrated_uri { + include maps/migrated-lists.map; +} + server { listen 443 ssl http2; listen [::]:443 ssl http2; @@ -28,6 +32,10 @@ server { ssl_certificate_key /etc/letsencrypt/live/{{ lists_domain }}/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/{{ lists_domain }}/chain.pem; + if ($migrated_uri) { + return 302 $migrated_uri; + } + # redirect old urls location /mailman/ { rewrite ^/mailman/(.*) /$1 permanent; -- GitLab