feat: proxy header override

This commit is contained in:
MrJmpl3 2022-10-03 00:38:25 -05:00
parent b7771d67a4
commit 699c7db073
4 changed files with 28 additions and 1 deletions

View File

@ -33,7 +33,6 @@ export default global => {
config['# Proxy headers'] = '';
config['proxy_set_header Upgrade'] = '$http_upgrade';
config['proxy_set_header Connection'] = '$connection_upgrade';
config['proxy_set_header Host'] = '$host';
config['proxy_set_header X-Real-IP'] = '$remote_addr';
config['proxy_set_header Forwarded'] = '$proxy_add_forwarded';
if (global.reverseProxy.proxyCoexistenceXForwarded.computed == 'passOn') {

View File

@ -279,6 +279,7 @@ export default (domain, domains, global, ipPortPairs) => {
if (domain.reverseProxy.reverseProxy.computed) {
const locConf = [];
locConf.push(['proxy_pass', domain.reverseProxy.proxyPass.computed]);
locConf.push(['proxy_set_header Host', domain.reverseProxy.proxyHeaderOverride.computed]);
if (global.tools.modularizedStructure.computed) {
// Modularized

View File

@ -31,4 +31,5 @@ export default {
reverseProxyCannotBeEnabledWithPhp: `${common.reverseProxy} cannot be enabled whilst ${common.php} is enabled.`,
reverseProxyCannotBeEnabledWithPython: `${common.reverseProxy} cannot be enabled whilst ${common.python} is enabled.`,
enableReverseProxy: `${common.enable} ${common.reverseProxyLower}`,
proxyHeaderOverride: 'Proxy header override',
};

View File

@ -99,6 +99,24 @@ THE SOFTWARE.
</div>
</div>
</div>
<div v-if="proxyHeaderOverrideEnabled" class="field is-horizontal">
<div class="field-label">
<label class="label">{{ $t('templates.domainSections.reverseProxy.proxyHeaderOverride') }}</label>
</div>
<div class="field-body">
<div :class="`field${proxyHeaderOverrideChanged ? ' is-changed' : ''}`">
<div class="control">
<input
v-model="proxyHeaderOverride"
class="input"
type="text"
:placeholder="$props.data.proxyHeaderOverride.default"
/>
</div>
</div>
</div>
</div>
</div>
</template>
@ -120,6 +138,10 @@ THE SOFTWARE.
default: 'http://127.0.0.1:3000',
enabled: false,
},
proxyHeaderOverride: {
default: '$host',
enabled: false,
},
};
export default {
@ -157,11 +179,15 @@ THE SOFTWARE.
this.$props.data.path.computed = this.$props.data.path.value;
this.$props.data.proxyPass.enabled = true;
this.$props.data.proxyPass.computed = this.$props.data.proxyPass.value;
this.$props.data.proxyHeaderOverride.enabled = true;
this.$props.data.proxyHeaderOverride.computed = this.$props.data.proxyHeaderOverride.value;
} else {
this.$props.data.path.enabled = false;
this.$props.data.path.computed = '';
this.$props.data.proxyPass.enabled = false;
this.$props.data.proxyPass.computed = '';
this.$props.data.proxyHeaderOverride.enabled = false;
this.$props.data.proxyHeaderOverride.computed = '';
}
},
deep: true,