✨ feat: proxy header override
parent
b7771d67a4
commit
699c7db073
|
@ -33,7 +33,6 @@ export default global => {
|
||||||
config['# Proxy headers'] = '';
|
config['# Proxy headers'] = '';
|
||||||
config['proxy_set_header Upgrade'] = '$http_upgrade';
|
config['proxy_set_header Upgrade'] = '$http_upgrade';
|
||||||
config['proxy_set_header Connection'] = '$connection_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 X-Real-IP'] = '$remote_addr';
|
||||||
config['proxy_set_header Forwarded'] = '$proxy_add_forwarded';
|
config['proxy_set_header Forwarded'] = '$proxy_add_forwarded';
|
||||||
if (global.reverseProxy.proxyCoexistenceXForwarded.computed == 'passOn') {
|
if (global.reverseProxy.proxyCoexistenceXForwarded.computed == 'passOn') {
|
||||||
|
|
|
@ -279,6 +279,7 @@ export default (domain, domains, global, ipPortPairs) => {
|
||||||
if (domain.reverseProxy.reverseProxy.computed) {
|
if (domain.reverseProxy.reverseProxy.computed) {
|
||||||
const locConf = [];
|
const locConf = [];
|
||||||
locConf.push(['proxy_pass', domain.reverseProxy.proxyPass.computed]);
|
locConf.push(['proxy_pass', domain.reverseProxy.proxyPass.computed]);
|
||||||
|
locConf.push(['proxy_set_header Host', domain.reverseProxy.proxyHeaderOverride.computed]);
|
||||||
|
|
||||||
if (global.tools.modularizedStructure.computed) {
|
if (global.tools.modularizedStructure.computed) {
|
||||||
// Modularized
|
// Modularized
|
||||||
|
|
|
@ -31,4 +31,5 @@ export default {
|
||||||
reverseProxyCannotBeEnabledWithPhp: `${common.reverseProxy} cannot be enabled whilst ${common.php} is enabled.`,
|
reverseProxyCannotBeEnabledWithPhp: `${common.reverseProxy} cannot be enabled whilst ${common.php} is enabled.`,
|
||||||
reverseProxyCannotBeEnabledWithPython: `${common.reverseProxy} cannot be enabled whilst ${common.python} is enabled.`,
|
reverseProxyCannotBeEnabledWithPython: `${common.reverseProxy} cannot be enabled whilst ${common.python} is enabled.`,
|
||||||
enableReverseProxy: `${common.enable} ${common.reverseProxyLower}`,
|
enableReverseProxy: `${common.enable} ${common.reverseProxyLower}`,
|
||||||
|
proxyHeaderOverride: 'Proxy header override',
|
||||||
};
|
};
|
||||||
|
|
|
@ -99,6 +99,24 @@ THE SOFTWARE.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -120,6 +138,10 @@ THE SOFTWARE.
|
||||||
default: 'http://127.0.0.1:3000',
|
default: 'http://127.0.0.1:3000',
|
||||||
enabled: false,
|
enabled: false,
|
||||||
},
|
},
|
||||||
|
proxyHeaderOverride: {
|
||||||
|
default: '$host',
|
||||||
|
enabled: false,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -157,11 +179,15 @@ THE SOFTWARE.
|
||||||
this.$props.data.path.computed = this.$props.data.path.value;
|
this.$props.data.path.computed = this.$props.data.path.value;
|
||||||
this.$props.data.proxyPass.enabled = true;
|
this.$props.data.proxyPass.enabled = true;
|
||||||
this.$props.data.proxyPass.computed = this.$props.data.proxyPass.value;
|
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 {
|
} else {
|
||||||
this.$props.data.path.enabled = false;
|
this.$props.data.path.enabled = false;
|
||||||
this.$props.data.path.computed = '';
|
this.$props.data.path.computed = '';
|
||||||
this.$props.data.proxyPass.enabled = false;
|
this.$props.data.proxyPass.enabled = false;
|
||||||
this.$props.data.proxyPass.computed = '';
|
this.$props.data.proxyPass.computed = '';
|
||||||
|
this.$props.data.proxyHeaderOverride.enabled = false;
|
||||||
|
this.$props.data.proxyHeaderOverride.computed = '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deep: true,
|
deep: true,
|
||||||
|
|
Loading…
Reference in New Issue