Add trust proxy checkbox in Settings page

pull/1862/head
Chongyi Zheng 2 years ago
parent f33b6de157
commit 6ce012c9a1
No known key found for this signature in database
GPG Key ID: CC2953E050C19686

@ -91,6 +91,47 @@
{{ $t("For example: nginx, Apache and Traefik.") }} <br /> {{ $t("For example: nginx, Apache and Traefik.") }} <br />
{{ $t("Please read") }} <a href="https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy" target="_blank">https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy</a>. {{ $t("Please read") }} <a href="https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy" target="_blank">https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy</a>.
</div> </div>
<h4 class="my-4">{{ $t("HTTP Headers") }}</h4>
<div class="my-3">
<label class="form-label">
{{ $t("Trust Proxy") }}
</label>
<div class="form-check">
<input
id="trustProxyYes"
v-model="settings.trustProxy"
class="form-check-input"
type="radio"
name="flexRadioDefault"
:value="true"
required
/>
<label class="form-check-label" for="trustProxyYes">
{{ $t("Trust 'X-Forwarded-*' headers") }}
</label>
</div>
<div class="form-check">
<input
id="trustProxyNo"
v-model="settings.trustProxy"
class="form-check-input"
type="radio"
name="flexRadioDefault"
:value="false"
required
/>
<label class="form-check-label" for="trustProxyYes">
{{ $t("Don't trust 'X-Forwarded-*' headers") }}
</label>
</div>
</div>
<div>
<button class="btn btn-primary" type="submit" @click="saveSettings()">
{{ $t("Save") }}
</button>
</div>
</div> </div>
</template> </template>
@ -113,6 +154,12 @@ export default {
settings() { settings() {
return this.$parent.$parent.$parent.settings; return this.$parent.$parent.$parent.settings;
}, },
saveSettings() {
return this.$parent.$parent.$parent.saveSettings;
},
settingsLoaded() {
return this.$parent.$parent.$parent.settingsLoaded;
},
}, },
watch: { watch: {

@ -453,6 +453,10 @@ export default {
"Message:": "Message:", "Message:": "Message:",
"Don't know how to get the token? Please read the guide:": "Don't know how to get the token? Please read the guide:", "Don't know how to get the token? Please read the guide:": "Don't know how to get the token? Please read the guide:",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.", "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.",
"HTTP Headers": "HTTP Headers",
"Trust Proxy": "Trust Proxy",
"Trust 'X-Forwarded-*' headers": "Trust 'X-Forwarded-*' headers",
"Don't trust 'X-Forwarded-*' headers": "Don't trust 'X-Forwarded-*' headers",
"Other Software": "Other Software", "Other Software": "Other Software",
"For example: nginx, Apache and Traefik.": "For example: nginx, Apache and Traefik.", "For example: nginx, Apache and Traefik.": "For example: nginx, Apache and Traefik.",
"Please read": "Please read", "Please read": "Please read",

@ -153,6 +153,10 @@ export default {
this.settings.tlsExpiryNotifyDays = [ 7, 14, 21 ]; this.settings.tlsExpiryNotifyDays = [ 7, 14, 21 ];
} }
if (this.settings.trustProxy === undefined) {
this.settings.trustProxy = false;
}
this.settingsLoaded = true; this.settingsLoaded = true;
}); });
}, },

Loading…
Cancel
Save