From d52eb885e7cc21070d65094f53e522df1c81be3b Mon Sep 17 00:00:00 2001 From: Drazen Date: Fri, 28 Feb 2025 14:39:33 +0100 Subject: [PATCH 1/2] Updating-drupal-common-drupal-fallback-optional --- roles/debian/nginx/defaults/main.yml | 1 + roles/debian/nginx/tasks/main.yml | 4 ++++ roles/debian/nginx/templates/drupal_common.j2 | 7 +++++++ 3 files changed, 12 insertions(+) diff --git a/roles/debian/nginx/defaults/main.yml b/roles/debian/nginx/defaults/main.yml index 22f2e136c..d74c13d56 100644 --- a/roles/debian/nginx/defaults/main.yml +++ b/roles/debian/nginx/defaults/main.yml @@ -129,6 +129,7 @@ nginx: php_fastcgi_backend: "127.0.0.1:90{{ php.version[-1] | replace('.', '') }}" # for unix socket use "unix:/var/run/php{{ php.version[-1] | replace('.','') }}-fpm.sock" ratelimitingcrawlers: false client_max_body_size: "700M" + # drupal_fallback: [] # Default location behavior for nginx # If no custom location behavior is defined, this will be used: # nginx_location_behavior: ['try_files @rewrite /index.php?$query_string;'] diff --git a/roles/debian/nginx/tasks/main.yml b/roles/debian/nginx/tasks/main.yml index 72fab6e10..c2f1b156a 100644 --- a/roles/debian/nginx/tasks/main.yml +++ b/roles/debian/nginx/tasks/main.yml @@ -70,6 +70,10 @@ set_fact: nginx_location_behavior: "{{ nginx.custom_nginx_location_behavior | default(['try_files @rewrite /index.php?$query_string;']) }}" +- name: Set drupal fallback location if defined + set_fact: + drupal_fallback_behavior: "{{ nginx.drupal_fallback | default(omit) }}" + - name: Copy project type-specific configuration in place. ansible.builtin.template: src: "{{ item }}.j2" diff --git a/roles/debian/nginx/templates/drupal_common.j2 b/roles/debian/nginx/templates/drupal_common.j2 index c8b64a644..441b2f23e 100644 --- a/roles/debian/nginx/templates/drupal_common.j2 +++ b/roles/debian/nginx/templates/drupal_common.j2 @@ -25,6 +25,13 @@ location / { {{ nginx_location_behavior | join("\n ") }} } +# Fallback to Drupal PHP handler +{% if nginx.drupal_fallback is defined %} +location @drupal { +{{ nginx.drupal_fallback | join("\n ") }} +} +{% endif %} + ############ Blacklist block. # Most of those should not be in the webroot in the first place, # but we still provide a safety net. From 05eb7c7b9be51c0dcdd4fb5254d2c686237cb7f0 Mon Sep 17 00:00:00 2001 From: Drazen Date: Fri, 28 Feb 2025 14:59:23 +0100 Subject: [PATCH 2/2] Updating-drupal-common-drupal-fallback-optional-fix --- roles/debian/nginx/tasks/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/roles/debian/nginx/tasks/main.yml b/roles/debian/nginx/tasks/main.yml index c2f1b156a..abfe213ec 100644 --- a/roles/debian/nginx/tasks/main.yml +++ b/roles/debian/nginx/tasks/main.yml @@ -72,7 +72,8 @@ - name: Set drupal fallback location if defined set_fact: - drupal_fallback_behavior: "{{ nginx.drupal_fallback | default(omit) }}" + drupal_fallback_behavior: "{{ nginx.drupal_fallback }}" + when: nginx.drupal_fallback is defined and nginx.drupal_fallback - name: Copy project type-specific configuration in place. ansible.builtin.template: