mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-21 00:17:38 +00:00
PROXY protocol working for proxy hosts. Testing on stream, redirection and 404 hosts
This commit is contained in:
44
backend/migrations/20220209144645_proxy_protocol.js
Normal file
44
backend/migrations/20220209144645_proxy_protocol.js
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
const migrate_name = 'proxy_protocol';
|
||||||
|
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('proxy_host', function (proxy_host) {
|
||||||
|
proxy_host.integer('enable_proxy_protocol').notNull().unsigned().defaultTo(0);
|
||||||
|
proxy_host.string('load_balancer_ip').notNull().defaultTo('');
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
logger.info('[' + migrate_name + '] proxy_host Table altered');
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Undo Migrate
|
||||||
|
*
|
||||||
|
* @param {Object} knex
|
||||||
|
* @param {Promise} Promise
|
||||||
|
* @returns {Promise}
|
||||||
|
*/
|
||||||
|
exports.down = function (knex/*, Promise*/) {
|
||||||
|
return knex.schema.table('proxy_host', (proxy_host) => {
|
||||||
|
proxy_host.dropColumn('enable_proxy_protocol');
|
||||||
|
proxy_host.dropColumn('load_balancer_ip');
|
||||||
|
})
|
||||||
|
.then(function () {
|
||||||
|
logger.info('[' + migrate_name + '] MIGRATING DOWN proxy_host Table altered');
|
||||||
|
});
|
||||||
|
|
||||||
|
// logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
|
||||||
|
// return Promise.resolve(true);
|
||||||
|
};
|
@@ -18,7 +18,7 @@ exports.up = function (knex/*, Promise*/) {
|
|||||||
proxy_host.string('load_balancer_ip').notNull().defaultTo('');
|
proxy_host.string('load_balancer_ip').notNull().defaultTo('');
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
logger.info('[' + migrate_name + '] proxy_host Table altered');
|
logger.info('[' + migrate_name + '] proxy_host Table altered - PROXY protocol added');
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -30,7 +30,15 @@ exports.up = function (knex/*, Promise*/) {
|
|||||||
* @param {Promise} Promise
|
* @param {Promise} Promise
|
||||||
* @returns {Promise}
|
* @returns {Promise}
|
||||||
*/
|
*/
|
||||||
exports.down = function (knex, Promise) {
|
exports.down = function (knex/*, Promise*/) {
|
||||||
logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
|
return knex.schema.table('proxy_host', (proxy_host) => {
|
||||||
return Promise.resolve(true);
|
proxy_host.dropColumn('enable_proxy_protocol');
|
||||||
|
proxy_host.dropColumn('load_balancer_ip');
|
||||||
|
})
|
||||||
|
.then(function () {
|
||||||
|
logger.info('[' + migrate_name + '] MIGRATING DOWN proxy_host Table altered - PROXY protocol removed');
|
||||||
|
});
|
||||||
|
|
||||||
|
// logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
|
||||||
|
// return Promise.resolve(true);
|
||||||
};
|
};
|
||||||
|
@@ -24,6 +24,7 @@ ENV SUPPRESS_NO_CONFIG_WARNING=1 \
|
|||||||
MODSEC_ENABLE="0" \
|
MODSEC_ENABLE="0" \
|
||||||
MODSEC_ADMIN_PANEL="0" \
|
MODSEC_ADMIN_PANEL="0" \
|
||||||
CROWDSEC_UPDATE_DIR='/cs-update' \
|
CROWDSEC_UPDATE_DIR='/cs-update' \
|
||||||
|
CROWDSEC_TEMPLATES='/crowdsec/templates' \
|
||||||
GEOLITE_DB_GRAB="0" \
|
GEOLITE_DB_GRAB="0" \
|
||||||
GEOLITE2_DB_GRAB="0" \
|
GEOLITE2_DB_GRAB="0" \
|
||||||
GEOIP_DIR="/geoip_db" \
|
GEOIP_DIR="/geoip_db" \
|
||||||
|
@@ -172,6 +172,7 @@ module.exports = Mn.View.extend({
|
|||||||
data.block_exploits = !!data.block_exploits;
|
data.block_exploits = !!data.block_exploits;
|
||||||
data.caching_enabled = !!data.caching_enabled;
|
data.caching_enabled = !!data.caching_enabled;
|
||||||
data.allow_websocket_upgrade = !!data.allow_websocket_upgrade;
|
data.allow_websocket_upgrade = !!data.allow_websocket_upgrade;
|
||||||
|
data.enable_proxy_protocol = !!data.enable_proxy_protocol;
|
||||||
data.http2_support = !!data.http2_support;
|
data.http2_support = !!data.http2_support;
|
||||||
data.hsts_enabled = !!data.hsts_enabled;
|
data.hsts_enabled = !!data.hsts_enabled;
|
||||||
data.hsts_subdomains = !!data.hsts_subdomains;
|
data.hsts_subdomains = !!data.hsts_subdomains;
|
||||||
|
@@ -11,7 +11,9 @@ if hash docker 2>/dev/null; then
|
|||||||
docker pull "${DOCKER_IMAGE}"
|
docker pull "${DOCKER_IMAGE}"
|
||||||
cd "${DIR}/.."
|
cd "${DIR}/.."
|
||||||
echo -e "${BLUE}❯ ${CYAN}Building Frontend ...${RESET}"
|
echo -e "${BLUE}❯ ${CYAN}Building Frontend ...${RESET}"
|
||||||
docker run --rm -e CI=true -v "$(pwd)/frontend:/app/frontend" -v "$(pwd)/global:/app/global" -w /app/frontend "$DOCKER_IMAGE" sh -c "yarn install && yarn build && yarn build && chown -R $(id -u):$(id -g) /app/frontend"
|
docker run --rm -e CI=true -v "$(pwd)/frontend:/app/frontend" -v "$(pwd)/global:/app/global" \
|
||||||
|
-w /app/frontend "$DOCKER_IMAGE" sh \
|
||||||
|
-c "yarn install && yarn build && yarn build && chown -R $(id -u):$(id -g) /app/frontend"
|
||||||
echo -e "${BLUE}❯ ${GREEN}Building Frontend Complete${RESET}"
|
echo -e "${BLUE}❯ ${GREEN}Building Frontend Complete${RESET}"
|
||||||
else
|
else
|
||||||
echo -e "${RED}❯ docker command is not available${RESET}"
|
echo -e "${RED}❯ docker command is not available${RESET}"
|
||||||
|
Reference in New Issue
Block a user