diff --git a/roles/flyspray/files/migrated-tasks.map b/roles/flyspray/files/migrated-tasks.map new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/roles/flyspray/tasks/main.yml b/roles/flyspray/tasks/main.yml index a41b59401b0599b2f743ce1cef55ed0ed852c1ec..de42365f7666b241705211c460e367980245abe2 100644 --- a/roles/flyspray/tasks/main.yml +++ b/roles/flyspray/tasks/main.yml @@ -32,6 +32,9 @@ when: maintenance is not defined tags: ['nginx'] +- name: install nginx migrated-tasks.map + copy: src=migrated-tasks.map dest=/etc/nginx/maps/ owner=root group=root mode=0644 + - name: make nginx log dir file: path=/var/log/nginx/{{ flyspray_domain }} state=directory owner=root group=root mode=0755 diff --git a/roles/flyspray/templates/nginx.d.conf.j2 b/roles/flyspray/templates/nginx.d.conf.j2 index c3a0e5e4f3ec2061f9ef2e5ead7196be247d4dfe..a658ddcfd11e4d845f2b2a50f51f97c181a94357 100644 --- a/roles/flyspray/templates/nginx.d.conf.j2 +++ b/roles/flyspray/templates/nginx.d.conf.j2 @@ -19,6 +19,11 @@ server { } } +map $uri $redirect { + default ""; + include maps/migrated-tasks.map; +} + server { listen 443 ssl http2; listen [::]:443 ssl http2; @@ -51,6 +56,9 @@ server { } location ~ ^/task/(?<task_id>[0-9]+) { + if ($redirect != "") { + return 302 $redirect; + } rewrite ^/task/[0-9]+$ /index.php?do=details&task_id=$task_id last; rewrite ^/task/[0-9]+/comment(?<comment_id>[0-9]+)$ /index.php?do=details&task_id=$task_id&comment=$comment_id last; rewrite ^/task/[0-9]+/depends$ /index.php?do=depends&task_id=$task_id last; diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml index 44302870162eb96fa70d8da877669d6925579b98..7e36c2ef1051afa9610ff1355245fa7ea0ea2f7c 100644 --- a/roles/nginx/tasks/main.yml +++ b/roles/nginx/tasks/main.yml @@ -34,6 +34,9 @@ - name: create auth directory file: state=directory path=/etc/nginx/auth owner=root group=root mode=0755 +- name: create maps directory + file: state=directory path=/etc/nginx/maps owner=root group=root mode=0755 + - name: create default nginx log directory file: state=directory path=/var/log/nginx/default owner=root group=root mode=0755