Add option to disable caching for HTML content (#366)
* feat: Global performance improve add no-cache for html * feat: Disable HTML caching * fix: eslint check * Clean uppull/368/head
parent
2b638c24c5
commit
479162576d
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2020 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -41,6 +41,17 @@ export default (domains, global) => {
|
||||||
};
|
};
|
||||||
if (global.logging.accessLog.computed) config['location = /robots.txt'].access_log = 'off';
|
if (global.logging.accessLog.computed) config['location = /robots.txt'].access_log = 'off';
|
||||||
|
|
||||||
|
if (global.performance.disableHtmlCaching.computed) {
|
||||||
|
// Disable HTML caching for changes take effect in time
|
||||||
|
config['# Disable HTML caching'] = '';
|
||||||
|
const loc = `location ~* \\.(?:${extensions.html})$`;
|
||||||
|
config[loc] = {
|
||||||
|
add_header: 'Cache-Control "no-cache"',
|
||||||
|
};
|
||||||
|
if (global.logging.accessLog.computed) config[loc].access_log = 'off';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (domains.every(d => d.routing.root.computed)) {
|
if (domains.every(d => d.routing.root.computed)) {
|
||||||
if (global.performance.assetsExpiration.computed === global.performance.mediaExpiration.computed) {
|
if (global.performance.assetsExpiration.computed === global.performance.mediaExpiration.computed) {
|
||||||
if (global.performance.assetsExpiration.computed) {
|
if (global.performance.assetsExpiration.computed) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Gzip Komprimierung',
|
gzipCompression: 'Gzip Komprimierung',
|
||||||
enableGzipCompression: `${common.enable} Gzip Komprimierung`,
|
enableGzipCompression: `${common.enable} Gzip Komprimierung`,
|
||||||
brotliCompression: 'Brotli Komprimierung',
|
brotliCompression: 'Brotli Komprimierung',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching',
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching',
|
||||||
gzipCompression: 'Gzip compression',
|
gzipCompression: 'Gzip compression',
|
||||||
enableGzipCompression: `${common.enable} gzip compression`,
|
enableGzipCompression: `${common.enable} gzip compression`,
|
||||||
brotliCompression: 'Brotli compression',
|
brotliCompression: 'Brotli compression',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -26,7 +26,9 @@ THE SOFTWARE.
|
||||||
|
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Compresión Gzip',
|
gzipCompression: 'Compresión Gzip',
|
||||||
enableGzipCompression: `${common.enable} compresión gzip`,
|
enableGzipCompression: `${common.enable} compresión gzip`,
|
||||||
brotliCompression: 'Compresión Brotli',
|
brotliCompression: 'Compresión Brotli',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Compression Gzip',
|
gzipCompression: 'Compression Gzip',
|
||||||
enableGzipCompression: `${common.enable} la compression gzip`,
|
enableGzipCompression: `${common.enable} la compression gzip`,
|
||||||
brotliCompression: 'Compression Brotli',
|
brotliCompression: 'Compression Brotli',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Kompresja gzip',
|
gzipCompression: 'Kompresja gzip',
|
||||||
enableGzipCompression: `${common.enable} kompresję gzip`,
|
enableGzipCompression: `${common.enable} kompresję gzip`,
|
||||||
brotliCompression: 'Kompresja brotli',
|
brotliCompression: 'Kompresja brotli',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Compressão Gzip',
|
gzipCompression: 'Compressão Gzip',
|
||||||
enableGzipCompression: `${common.enable} compressão gzip`,
|
enableGzipCompression: `${common.enable} compressão gzip`,
|
||||||
brotliCompression: 'Compressão Brotli',
|
brotliCompression: 'Compressão Brotli',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Gzip сжатие',
|
gzipCompression: 'Gzip сжатие',
|
||||||
enableGzipCompression: `${common.enable} gzip сжатие`,
|
enableGzipCompression: `${common.enable} gzip сжатие`,
|
||||||
brotliCompression: 'Brotli сжатие',
|
brotliCompression: 'Brotli сжатие',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2021 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -27,8 +27,10 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: '禁用 HTML 缓存',
|
||||||
|
enableDisableHtmlCaching: '禁用 HTML 缓存',
|
||||||
gzipCompression: 'Gzip 压缩',
|
gzipCompression: 'Gzip 压缩',
|
||||||
enableGzipCompression: `${common.enable}Gzip压缩`,
|
enableGzipCompression: `${common.enable} Gzip 压缩`,
|
||||||
brotliCompression: 'Brotli 压缩',
|
brotliCompression: 'Brotli 压缩',
|
||||||
enableBrotliCompression: `${common.enable} Brotli 压缩`,
|
enableBrotliCompression: `${common.enable} Brotli 压缩`,
|
||||||
brotliIsANonStandardModule: 'Brotli 并不是一个 standard NGINX 模块, 请查看 ',
|
brotliIsANonStandardModule: 'Brotli 并不是一个 standard NGINX 模块, 请查看 ',
|
||||||
|
|
|
@ -27,6 +27,8 @@ THE SOFTWARE.
|
||||||
import common from '../../common';
|
import common from '../../common';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
disableHtmlCaching: 'Disable HTML caching', // TODO: translate
|
||||||
|
enableDisableHtmlCaching: 'disable HTML caching', // TODO: translate
|
||||||
gzipCompression: 'Gzip 壓縮',
|
gzipCompression: 'Gzip 壓縮',
|
||||||
enableGzipCompression: `${common.enable} Gzip 壓縮`,
|
enableGzipCompression: `${common.enable} Gzip 壓縮`,
|
||||||
brotliCompression: 'Brotli 壓縮',
|
brotliCompression: 'Brotli 壓縮',
|
||||||
|
|
|
@ -26,6 +26,23 @@ THE SOFTWARE.
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<div class="field is-horizontal">
|
||||||
|
<div class="field-label">
|
||||||
|
<label class="label">{{ $t('templates.globalSections.performance.disableHtmlCaching') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="field-body">
|
||||||
|
<div class="field">
|
||||||
|
<div :class="`control${disableHtmlCachingChanged ? ' is-changed' : ''}`">
|
||||||
|
<div class="checkbox">
|
||||||
|
<PrettyCheck v-model="disableHtmlCaching" class="p-default p-curve p-fill p-icon">
|
||||||
|
{{ $t('templates.globalSections.performance.enableDisableHtmlCaching') }}
|
||||||
|
</PrettyCheck>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="field is-horizontal">
|
<div class="field is-horizontal">
|
||||||
<div class="field-label">
|
<div class="field-label">
|
||||||
<label class="label">{{ $t('templates.globalSections.performance.gzipCompression') }}</label>
|
<label class="label">{{ $t('templates.globalSections.performance.gzipCompression') }}</label>
|
||||||
|
@ -154,6 +171,10 @@ THE SOFTWARE.
|
||||||
import PrettyCheck from '../inputs/checkbox';
|
import PrettyCheck from '../inputs/checkbox';
|
||||||
|
|
||||||
const defaults = {
|
const defaults = {
|
||||||
|
disableHtmlCaching: {
|
||||||
|
default: false,
|
||||||
|
enabled: true,
|
||||||
|
},
|
||||||
gzipCompression: {
|
gzipCompression: {
|
||||||
default: true,
|
default: true,
|
||||||
enabled: true,
|
enabled: true,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2020 DigitalOcean
|
Copyright 2022 DigitalOcean
|
||||||
|
|
||||||
This code is licensed under the MIT License.
|
This code is licensed under the MIT License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
@ -37,4 +37,5 @@ export const extensions = {
|
||||||
'docx?|dotx?|docm|dotm|' +
|
'docx?|dotx?|docm|dotm|' +
|
||||||
'xlsx?|xltx?|xlsm|xltm|' +
|
'xlsx?|xltx?|xlsm|xltm|' +
|
||||||
'pptx?|potx?|pptm|potm|ppsx?',
|
'pptx?|potx?|pptm|potm|ppsx?',
|
||||||
|
html: 'html?',
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue