From 6df7b72e08a0443b50e51e47e850724f73edbebf Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Tue, 9 Feb 2021 11:23:15 +0100 Subject: [PATCH 01/12] Forward scheme and http code added for redirection hosts You can now configure the forward_scheme and forward_http_code on user interface (section redirection hosts) --- .version | 2 +- .../schema/endpoints/redirection-hosts.json | 26 +++++++++++++++++++ backend/templates/redirection_host.conf | 4 +-- frontend/js/app/nginx/redirection/form.ejs | 25 +++++++++++++++++- .../js/app/nginx/redirection/list/item.ejs | 6 +++++ frontend/js/models/redirection-host.js | 2 ++ 6 files changed, 61 insertions(+), 4 deletions(-) diff --git a/.version b/.version index 834f262..dbe5900 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -2.8.0 +2.8.1 diff --git a/backend/schema/endpoints/redirection-hosts.json b/backend/schema/endpoints/redirection-hosts.json index 1295fa4..14a4699 100644 --- a/backend/schema/endpoints/redirection-hosts.json +++ b/backend/schema/endpoints/redirection-hosts.json @@ -18,6 +18,12 @@ "domain_names": { "$ref": "../definitions.json#/definitions/domain_names" }, + "forward_http_code": { + "$ref": "../definitions.json#/definitions/http_code" + }, + "forward_scheme": { + "$ref": "../definitions.json#/definitions/scheme" + }, "forward_domain_name": { "$ref": "../definitions.json#/definitions/domain_name" }, @@ -67,6 +73,12 @@ "domain_names": { "$ref": "#/definitions/domain_names" }, + "forward_http_code": { + "$ref": "#/definitions/forward_http_code" + }, + "forward_scheme": { + "$ref": "#/definitions/forward_scheme" + }, "forward_domain_name": { "$ref": "#/definitions/forward_domain_name" }, @@ -134,12 +146,20 @@ "additionalProperties": false, "required": [ "domain_names", + "forward_scheme", + "forward_http_code", "forward_domain_name" ], "properties": { "domain_names": { "$ref": "#/definitions/domain_names" }, + "forward_http_code": { + "$ref": "#/definitions/forward_http_code" + }, + "forward_scheme": { + "$ref": "#/definitions/forward_scheme" + }, "forward_domain_name": { "$ref": "#/definitions/forward_domain_name" }, @@ -195,6 +215,12 @@ "domain_names": { "$ref": "#/definitions/domain_names" }, + "forward_http_code": { + "$ref": "#/definitions/forward_http_code" + }, + "forward_scheme": { + "$ref": "#/definitions/forward_scheme" + }, "forward_domain_name": { "$ref": "#/definitions/forward_domain_name" }, diff --git a/backend/templates/redirection_host.conf b/backend/templates/redirection_host.conf index 463f3a8..55e7280 100644 --- a/backend/templates/redirection_host.conf +++ b/backend/templates/redirection_host.conf @@ -18,9 +18,9 @@ server { {% include "_hsts.conf" %} {% if preserve_path == 1 or preserve_path == true %} - return 301 $scheme://{{ forward_domain_name }}$request_uri; + return {{ forward_http_code }} {{ forward_scheme }}://{{ forward_domain_name }}$request_uri; {% else %} - return 301 $scheme://{{ forward_domain_name }}; + return {{ forward_http_code }} {{ forward_scheme }}://{{ forward_domain_name }}; {% endif %} } {% endif %} diff --git a/frontend/js/app/nginx/redirection/form.ejs b/frontend/js/app/nginx/redirection/form.ejs index 3247233..9e1628a 100644 --- a/frontend/js/app/nginx/redirection/form.ejs +++ b/frontend/js/app/nginx/redirection/form.ejs @@ -22,12 +22,35 @@ -
+
+
+ + +
+
+
+
+
+ + +
+
+ +
<%- forward_http_code %>
+ + +
<%- forward_scheme %>
+
<%- forward_domain_name %>
diff --git a/frontend/js/models/redirection-host.js b/frontend/js/models/redirection-host.js index a4f11e2..1d0b0de 100644 --- a/frontend/js/models/redirection-host.js +++ b/frontend/js/models/redirection-host.js @@ -9,6 +9,8 @@ const model = Backbone.Model.extend({ created_on: null, modified_on: null, domain_names: [], + forward_http_code: 0, + forward_scheme: null, forward_domain_name: '', preserve_path: true, certificate_id: 0, From 8ba6c4f7e7faa9793d50f2534aff15e4efe104a4 Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 09:55:41 +0100 Subject: [PATCH 02/12] Added http_code definition --- backend/schema/definitions.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/schema/definitions.json b/backend/schema/definitions.json index 2aa538b..37c71f5 100644 --- a/backend/schema/definitions.json +++ b/backend/schema/definitions.json @@ -179,6 +179,12 @@ "pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" } }, + "http_code": { + "description": "HTTP Status Code", + "example": 302, + "type": "integer", + "minimum": 0 + }, "enabled": { "description": "Is Enabled", "example": true, From e35138ebedd28f34ae72a18cbbe255ef57427a1d Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 10:42:34 +0100 Subject: [PATCH 03/12] Added scheme to definitions --- backend/schema/definitions.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/schema/definitions.json b/backend/schema/definitions.json index 37c71f5..f0acf31 100644 --- a/backend/schema/definitions.json +++ b/backend/schema/definitions.json @@ -185,6 +185,12 @@ "type": "integer", "minimum": 0 }, + "scheme": { + "description": "RFC Protocol", + "example": "HTTPS or $scheme", + "type": "string", + "minLength": 4 + }, "enabled": { "description": "Is Enabled", "example": true, From ebeda6345ec9c36c148d4b1676dc5b74d70a9352 Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 14:11:01 +0100 Subject: [PATCH 04/12] Globalization done Ready to merge --- frontend/js/app/nginx/redirection/form.ejs | 4 ++-- frontend/js/i18n/messages.json | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/js/app/nginx/redirection/form.ejs b/frontend/js/app/nginx/redirection/form.ejs index 9e1628a..488d273 100644 --- a/frontend/js/app/nginx/redirection/form.ejs +++ b/frontend/js/app/nginx/redirection/form.ejs @@ -24,7 +24,7 @@
- + diff --git a/frontend/js/i18n/messages.json b/frontend/js/i18n/messages.json index 202e94a..3437b10 100644 --- a/frontend/js/i18n/messages.json +++ b/frontend/js/i18n/messages.json @@ -137,6 +137,8 @@ "empty": "There are no Redirection Hosts", "add": "Add Redirection Host", "form-title": "{id, select, undefined{New} other{Edit}} Redirection Host", + "forward-scheme": "Scheme", + "forward-http-status-code": "HTTP Code", "forward-domain": "Forward Domain", "preserve-path": "Preserve Path", "delete": "Delete Proxy Host", From 77a2ee948aa502069fe37dc623c24e18f8b9c70b Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 15:25:19 +0100 Subject: [PATCH 05/12] Updated list table Added state code columns Better form columns sizing --- frontend/js/app/nginx/redirection/form.ejs | 4 ++-- frontend/js/app/nginx/redirection/list/main.ejs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/js/app/nginx/redirection/form.ejs b/frontend/js/app/nginx/redirection/form.ejs index 488d273..7e19071 100644 --- a/frontend/js/app/nginx/redirection/form.ejs +++ b/frontend/js/app/nginx/redirection/form.ejs @@ -22,7 +22,7 @@
-
+
-
+
diff --git a/frontend/js/app/nginx/redirection/list/main.ejs b/frontend/js/app/nginx/redirection/list/main.ejs index 15af827..41158a7 100644 --- a/frontend/js/app/nginx/redirection/list/main.ejs +++ b/frontend/js/app/nginx/redirection/list/main.ejs @@ -1,6 +1,7 @@   <%- i18n('str', 'source') %> + <%- i18n('redirection-hosts', 'forward-http-status-code') %> <%- i18n('str', 'destination') %> <%- i18n('str', 'ssl') %> <%- i18n('str', 'status') %> From 329d0ecaed9328e96ffdd296f5b57e311764816a Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 15:27:11 +0100 Subject: [PATCH 06/12] Added forward scheme to table columns --- frontend/js/app/nginx/redirection/list/main.ejs | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/js/app/nginx/redirection/list/main.ejs b/frontend/js/app/nginx/redirection/list/main.ejs index 41158a7..8b6930d 100644 --- a/frontend/js/app/nginx/redirection/list/main.ejs +++ b/frontend/js/app/nginx/redirection/list/main.ejs @@ -2,6 +2,7 @@   <%- i18n('str', 'source') %> <%- i18n('redirection-hosts', 'forward-http-status-code') %> + <%- i18n('redirection-hosts', 'forward-scheme') %> <%- i18n('str', 'destination') %> <%- i18n('str', 'ssl') %> <%- i18n('str', 'status') %> From 1f122e9145ab24ec15c7da7baf82e9f96b13bc54 Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 15:57:28 +0100 Subject: [PATCH 07/12] Database migrations created --- .../20210210154702_redirection_scheme.js | 49 +++++++++++++++++++ .../20210210154703_redirection_status_code.js | 49 +++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 backend/migrations/20210210154702_redirection_scheme.js create mode 100644 backend/migrations/20210210154703_redirection_status_code.js diff --git a/backend/migrations/20210210154702_redirection_scheme.js b/backend/migrations/20210210154702_redirection_scheme.js new file mode 100644 index 0000000..a7fcca9 --- /dev/null +++ b/backend/migrations/20210210154702_redirection_scheme.js @@ -0,0 +1,49 @@ +const migrate_name = 'redirection_scheme'; +const logger = require('../logger').migrate; + +/** + * Migrate + * + * @see http://knexjs.org/#Schema + * + * @param {Object} knex + * @param {Promise} Promise + * @returns {Promise} + */ +exports.up = function (knex, Promise) { + + logger.info('[' + migrate_name + '] Migrating Up...'); + + return knex.schema.table('redirection_host', (table) => { + table.string('forward_scheme').notNull().defaultTo("$scheme"); + }) + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); + + logger.info('[' + migrate_name + '] Migrating Up Complete'); + + return Promise.resolve(true); +}; + +/** + * Undo Migrate + * + * @param {Object} knex + * @param {Promise} Promise + * @returns {Promise} + */ +exports.down = function (knex, Promise) { + logger.info('[' + migrate_name + '] Migrating Down...'); + + return knex.schema.table('redirection_host', (table) => { + table.dropColumn('forward_scheme'); + }) + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); + + logger.info('[' + migrate_name + '] Migrating Down Complete'); + + return Promise.resolve(true); +}; diff --git a/backend/migrations/20210210154703_redirection_status_code.js b/backend/migrations/20210210154703_redirection_status_code.js new file mode 100644 index 0000000..c5888dd --- /dev/null +++ b/backend/migrations/20210210154703_redirection_status_code.js @@ -0,0 +1,49 @@ +const migrate_name = 'redirection_status_code'; +const logger = require('../logger').migrate; + +/** + * Migrate + * + * @see http://knexjs.org/#Schema + * + * @param {Object} knex + * @param {Promise} Promise + * @returns {Promise} + */ +exports.up = function (knex, Promise) { + + logger.info('[' + migrate_name + '] Migrating Up...'); + + return knex.schema.table('redirection_host', (table) => { + table.integer('forward_http_code').notNull().unsigned().defaultTo(302); + }) + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); + + logger.info('[' + migrate_name + '] Migrating Up Complete'); + + return Promise.resolve(true); +}; + +/** + * Undo Migrate + * + * @param {Object} knex + * @param {Promise} Promise + * @returns {Promise} + */ +exports.down = function (knex, Promise) { + logger.info('[' + migrate_name + '] Migrating Down...'); + + return knex.schema.table('redirection_host', (table) => { + table.dropColumn('forward_http_code'); + }) + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); + + logger.info('[' + migrate_name + '] Migrating Down Complete'); + + return Promise.resolve(true); +}; From eb20add0c76f9b6ff6d4f550a58d64ccb708f878 Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 17:16:33 +0100 Subject: [PATCH 08/12] Migrations hotfix --- .../20210210154702_redirection_scheme.js | 26 +++++++------------ .../20210210154703_redirection_status_code.js | 26 +++++++------------ 2 files changed, 18 insertions(+), 34 deletions(-) diff --git a/backend/migrations/20210210154702_redirection_scheme.js b/backend/migrations/20210210154702_redirection_scheme.js index a7fcca9..886fa05 100644 --- a/backend/migrations/20210210154702_redirection_scheme.js +++ b/backend/migrations/20210210154702_redirection_scheme.js @@ -1,5 +1,5 @@ const migrate_name = 'redirection_scheme'; -const logger = require('../logger').migrate; +const logger = require('../logger').migrate; /** * Migrate @@ -15,15 +15,11 @@ exports.up = function (knex, Promise) { logger.info('[' + migrate_name + '] Migrating Up...'); return knex.schema.table('redirection_host', (table) => { - table.string('forward_scheme').notNull().defaultTo("$scheme"); - }) - .then(function () { + table.string('forward_scheme').notNull().defaultTo('$scheme'); + }) + .then(function () { logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); - - logger.info('[' + migrate_name + '] Migrating Up Complete'); - - return Promise.resolve(true); + }); }; /** @@ -37,13 +33,9 @@ exports.down = function (knex, Promise) { logger.info('[' + migrate_name + '] Migrating Down...'); return knex.schema.table('redirection_host', (table) => { - table.dropColumn('forward_scheme'); - }) - .then(function () { + table.dropColumn('forward_scheme'); + }) + .then(function () { logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); - - logger.info('[' + migrate_name + '] Migrating Down Complete'); - - return Promise.resolve(true); + }); }; diff --git a/backend/migrations/20210210154703_redirection_status_code.js b/backend/migrations/20210210154703_redirection_status_code.js index c5888dd..594892f 100644 --- a/backend/migrations/20210210154703_redirection_status_code.js +++ b/backend/migrations/20210210154703_redirection_status_code.js @@ -1,5 +1,5 @@ const migrate_name = 'redirection_status_code'; -const logger = require('../logger').migrate; +const logger = require('../logger').migrate; /** * Migrate @@ -15,15 +15,11 @@ exports.up = function (knex, Promise) { logger.info('[' + migrate_name + '] Migrating Up...'); return knex.schema.table('redirection_host', (table) => { - table.integer('forward_http_code').notNull().unsigned().defaultTo(302); - }) - .then(function () { + table.integer('forward_http_code').notNull().unsigned().defaultTo(302); + }) + .then(function () { logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); - - logger.info('[' + migrate_name + '] Migrating Up Complete'); - - return Promise.resolve(true); + }); }; /** @@ -37,13 +33,9 @@ exports.down = function (knex, Promise) { logger.info('[' + migrate_name + '] Migrating Down...'); return knex.schema.table('redirection_host', (table) => { - table.dropColumn('forward_http_code'); - }) - .then(function () { + table.dropColumn('forward_http_code'); + }) + .then(function () { logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); - - logger.info('[' + migrate_name + '] Migrating Down Complete'); - - return Promise.resolve(true); + }); }; From 9b83d35ef4a36a25372c240ace0e9213c7a7edb3 Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 18:12:02 +0100 Subject: [PATCH 09/12] Migrations --- .../20210210154702_redirection_scheme.js | 18 +++++++++--------- .../20210210154703_redirection_status_code.js | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/backend/migrations/20210210154702_redirection_scheme.js b/backend/migrations/20210210154702_redirection_scheme.js index 886fa05..c153ba3 100644 --- a/backend/migrations/20210210154702_redirection_scheme.js +++ b/backend/migrations/20210210154702_redirection_scheme.js @@ -1,5 +1,5 @@ const migrate_name = 'redirection_scheme'; -const logger = require('../logger').migrate; +const logger = require('../logger').migrate; /** * Migrate @@ -10,16 +10,16 @@ const logger = require('../logger').migrate; * @param {Promise} Promise * @returns {Promise} */ -exports.up = function (knex, Promise) { +exports.up = function (knex/*, Promise*/) { logger.info('[' + migrate_name + '] Migrating Up...'); return knex.schema.table('redirection_host', (table) => { table.string('forward_scheme').notNull().defaultTo('$scheme'); }) - .then(function () { - logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); }; /** @@ -29,13 +29,13 @@ exports.up = function (knex, Promise) { * @param {Promise} Promise * @returns {Promise} */ -exports.down = function (knex, Promise) { +exports.down = function (knex/*, Promise*/) { logger.info('[' + migrate_name + '] Migrating Down...'); return knex.schema.table('redirection_host', (table) => { table.dropColumn('forward_scheme'); }) - .then(function () { - logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); }; diff --git a/backend/migrations/20210210154703_redirection_status_code.js b/backend/migrations/20210210154703_redirection_status_code.js index 594892f..e623733 100644 --- a/backend/migrations/20210210154703_redirection_status_code.js +++ b/backend/migrations/20210210154703_redirection_status_code.js @@ -10,7 +10,7 @@ const logger = require('../logger').migrate; * @param {Promise} Promise * @returns {Promise} */ -exports.up = function (knex, Promise) { +exports.up = function (knex/*, Promise*/) { logger.info('[' + migrate_name + '] Migrating Up...'); @@ -29,7 +29,7 @@ exports.up = function (knex, Promise) { * @param {Promise} Promise * @returns {Promise} */ -exports.down = function (knex, Promise) { +exports.down = function (knex/*, Promise*/) { logger.info('[' + migrate_name + '] Migrating Down...'); return knex.schema.table('redirection_host', (table) => { From 49b0f11ae7d92e4a25908412459ccf43e5d12fbe Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 18:13:12 +0100 Subject: [PATCH 10/12] migrations --- .../20210210154702_redirection_scheme.js | 8 ++++---- .../20210210154703_redirection_status_code.js | 20 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backend/migrations/20210210154702_redirection_scheme.js b/backend/migrations/20210210154702_redirection_scheme.js index c153ba3..a7ec19a 100644 --- a/backend/migrations/20210210154702_redirection_scheme.js +++ b/backend/migrations/20210210154702_redirection_scheme.js @@ -6,8 +6,8 @@ const logger = require('../logger').migrate; * * @see http://knexjs.org/#Schema * - * @param {Object} knex - * @param {Promise} Promise + * @param {Object} knex + * @param {Promise} Promise * @returns {Promise} */ exports.up = function (knex/*, Promise*/) { @@ -25,8 +25,8 @@ exports.up = function (knex/*, Promise*/) { /** * Undo Migrate * - * @param {Object} knex - * @param {Promise} Promise + * @param {Object} knex + * @param {Promise} Promise * @returns {Promise} */ exports.down = function (knex/*, Promise*/) { diff --git a/backend/migrations/20210210154703_redirection_status_code.js b/backend/migrations/20210210154703_redirection_status_code.js index e623733..789d4ba 100644 --- a/backend/migrations/20210210154703_redirection_status_code.js +++ b/backend/migrations/20210210154703_redirection_status_code.js @@ -6,8 +6,8 @@ const logger = require('../logger').migrate; * * @see http://knexjs.org/#Schema * - * @param {Object} knex - * @param {Promise} Promise + * @param {Object} knex + * @param {Promise} Promise * @returns {Promise} */ exports.up = function (knex/*, Promise*/) { @@ -17,16 +17,16 @@ exports.up = function (knex/*, Promise*/) { return knex.schema.table('redirection_host', (table) => { table.integer('forward_http_code').notNull().unsigned().defaultTo(302); }) - .then(function () { - logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); }; /** * Undo Migrate * - * @param {Object} knex - * @param {Promise} Promise + * @param {Object} knex + * @param {Promise} Promise * @returns {Promise} */ exports.down = function (knex/*, Promise*/) { @@ -35,7 +35,7 @@ exports.down = function (knex/*, Promise*/) { return knex.schema.table('redirection_host', (table) => { table.dropColumn('forward_http_code'); }) - .then(function () { - logger.info('[' + migrate_name + '] redirection_host Table altered'); - }); + .then(function () { + logger.info('[' + migrate_name + '] redirection_host Table altered'); + }); }; From 4060718e5c33311e417ead41d561e2731cb3a4fd Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 18:26:19 +0100 Subject: [PATCH 11/12] Hotfix: This group of assignments is not aligned --- backend/migrations/20210210154702_redirection_scheme.js | 2 +- backend/migrations/20210210154703_redirection_status_code.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/migrations/20210210154702_redirection_scheme.js b/backend/migrations/20210210154702_redirection_scheme.js index a7ec19a..0dad487 100644 --- a/backend/migrations/20210210154702_redirection_scheme.js +++ b/backend/migrations/20210210154702_redirection_scheme.js @@ -1,5 +1,5 @@ const migrate_name = 'redirection_scheme'; -const logger = require('../logger').migrate; +const logger = require('../logger').migrate; /** * Migrate diff --git a/backend/migrations/20210210154703_redirection_status_code.js b/backend/migrations/20210210154703_redirection_status_code.js index 789d4ba..b9bea0b 100644 --- a/backend/migrations/20210210154703_redirection_status_code.js +++ b/backend/migrations/20210210154703_redirection_status_code.js @@ -1,5 +1,5 @@ const migrate_name = 'redirection_status_code'; -const logger = require('../logger').migrate; +const logger = require('../logger').migrate; /** * Migrate From 49fbf031d1d2f3bfa6a7d828164feac5955d2b11 Mon Sep 17 00:00:00 2001 From: baruffaldi Date: Wed, 10 Feb 2021 19:43:29 +0100 Subject: [PATCH 12/12] $scheme is displayed as "auto" on hosts listing --- frontend/js/app/nginx/redirection/list/item.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/js/app/nginx/redirection/list/item.ejs b/frontend/js/app/nginx/redirection/list/item.ejs index f6ba688..dfff29d 100644 --- a/frontend/js/app/nginx/redirection/list/item.ejs +++ b/frontend/js/app/nginx/redirection/list/item.ejs @@ -26,7 +26,7 @@
<%- forward_http_code %>
-
<%- forward_scheme %>
+
<%- forward_scheme == '$scheme' ? 'auto' : forward_scheme %>
<%- forward_domain_name %>