@abgov/nx-adsp 13.21.0 → 13.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/generators/angular-app/angular-app.js +2 -0
- package/src/generators/angular-app/angular-app.js.map +1 -1
- package/src/generators/angular-app/files/src/app/app.config.ts__tmpl__ +1 -0
- package/src/generators/react-app/files/src/app/user.slice.ts__tmpl__ +1 -0
- package/src/generators/react-app/react-app.js +2 -0
- package/src/generators/react-app/react-app.js.map +1 -1
- package/src/generators/vue-app/files/public/silent-check-sso.html__tmpl__ +5 -0
- package/src/generators/vue-app/files/src/main.ts__tmpl__ +19 -14
- package/src/generators/vue-app/vue-app.js +2 -0
- package/src/generators/vue-app/vue-app.js.map +1 -1
- package/src/generators/vue-app/vue-app.spec.ts +7 -17
- package/src/utils/nginx.d.ts +7 -2
- package/src/utils/nginx.js +63 -0
- package/src/utils/nginx.js.map +1 -0
- package/src/generators/angular-app/files/nginx.conf__tmpl__ +0 -41
- package/src/generators/react-app/files/nginx.conf__tmpl__ +0 -45
- package/src/generators/vue-app/files/public/nginx.conf__tmpl__ +0 -41
package/package.json
CHANGED
|
@@ -11,6 +11,7 @@ const init_1 = require("../init/init");
|
|
|
11
11
|
const devkit_1 = require("@nx/devkit");
|
|
12
12
|
const path = require("path");
|
|
13
13
|
const paired_project_1 = require("../../utils/paired-project");
|
|
14
|
+
const nginx_1 = require("../../utils/nginx");
|
|
14
15
|
function normalizeOptions(host, options) {
|
|
15
16
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
17
|
const projectName = (0, devkit_1.names)(options.name).fileName;
|
|
@@ -42,6 +43,7 @@ function addFiles(host, options) {
|
|
|
42
43
|
var _a;
|
|
43
44
|
const templateOptions = Object.assign(Object.assign(Object.assign(Object.assign({}, options), options.adsp), (0, devkit_1.names)(options.name)), { offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), pairedProject: (_a = options.pairedProject) !== null && _a !== void 0 ? _a : null, tmpl: '' });
|
|
44
45
|
(0, devkit_1.generateFiles)(host, path.join(__dirname, 'files'), options.projectRoot, templateOptions);
|
|
46
|
+
host.write(`${options.projectRoot}/nginx.conf`, (0, nginx_1.generateNginxConf)({ proxyLocations: options.nginxProxies, silentCheckSso: true }));
|
|
45
47
|
const addProxyConf = options.nginxProxies.length > 0;
|
|
46
48
|
if (addProxyConf) {
|
|
47
49
|
(0, devkit_1.writeJson)(host, `${options.projectRoot}/proxy.conf.json`, (0, paired_project_1.buildDevProxyConf)(options.nginxProxies));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-app.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/angular-app/angular-app.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"angular-app.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/angular-app/angular-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ export const initializeUser = createAsyncThunk('user/initialize', async () => {
|
|
|
29
29
|
const authenticated = await keycloak.init({
|
|
30
30
|
onLoad: 'check-sso',
|
|
31
31
|
pkceMethod: 'S256',
|
|
32
|
+
checkLoginIframe: false,
|
|
32
33
|
silentCheckSsoRedirectUri: `${window.location.origin}/silent-check-sso.html`,
|
|
33
34
|
});
|
|
34
35
|
return {
|
|
@@ -12,6 +12,7 @@ const devkit_1 = require("@nx/devkit");
|
|
|
12
12
|
const eslint_1 = require("@nx/eslint");
|
|
13
13
|
const path = require("path");
|
|
14
14
|
const paired_project_1 = require("../../utils/paired-project");
|
|
15
|
+
const nginx_1 = require("../../utils/nginx");
|
|
15
16
|
function normalizeOptions(host, options) {
|
|
16
17
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
18
|
const projectName = (0, devkit_1.names)(options.name).fileName;
|
|
@@ -43,6 +44,7 @@ function addFiles(host, options) {
|
|
|
43
44
|
var _a;
|
|
44
45
|
const templateOptions = Object.assign(Object.assign(Object.assign({}, options), options.adsp), { pairedProject: (_a = options.pairedProject) !== null && _a !== void 0 ? _a : null, tmpl: '' });
|
|
45
46
|
(0, devkit_1.generateFiles)(host, path.join(__dirname, 'files'), options.projectRoot, templateOptions);
|
|
47
|
+
host.write(`${options.projectRoot}/nginx.conf`, (0, nginx_1.generateNginxConf)({ proxyLocations: options.nginxProxies, silentCheckSso: true }));
|
|
46
48
|
const addProxyConf = options.nginxProxies.length > 0;
|
|
47
49
|
if (addProxyConf) {
|
|
48
50
|
(0, devkit_1.writeJson)(host, `${options.projectRoot}/proxy.conf.json`, (0, paired_project_1.buildDevProxyConf)(options.nginxProxies));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-app.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/react-app/react-app.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"react-app.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/react-app/react-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,23 +25,28 @@ app.use(keycloakPlugin, {
|
|
|
25
25
|
realm: environment.access.realm,
|
|
26
26
|
clientId: environment.access.client_id,
|
|
27
27
|
},
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
28
|
+
// checkLoginIframe: false — disables the login-status iframe that polls Keycloak
|
|
29
|
+
// every 5 seconds. Two reasons: (1) unnecessary overhead — for GoA apps, refresh-
|
|
30
|
+
// token expiry (onAuthRefreshError, below) is the reliable session-expiry signal,
|
|
31
|
+
// and cross-tab logout detection isn't a requirement; (2) checkLoginIframe() has
|
|
32
|
+
// no individual timeout in keycloak-js — if the login-status iframe stops responding
|
|
33
|
+
// (partial Keycloak failure after the init probe), it hangs indefinitely. Disabling
|
|
34
|
+
// it eliminates that failure mode entirely.
|
|
35
|
+
// Note: keycloak-js always runs a one-time 3p-cookie probe (step1.html, 10s timeout)
|
|
36
|
+
// before any iframes. When cookies are blocked the probe detects it, disables both
|
|
37
|
+
// the login iframe and silentCheckSsoRedirectUri, and falls back to a redirect —
|
|
38
|
+
// so blocked 3p cookies are handled gracefully regardless of this setting.
|
|
39
|
+
//
|
|
40
|
+
// silentCheckSsoRedirectUri — on load, keycloak-js opens a hidden iframe pointing
|
|
41
|
+
// to Keycloak with prompt=none; if an existing session is found the user is auto-
|
|
42
|
+
// authenticated without a visible redirect. Like checkLoginIframe(), checkSsoSilently()
|
|
43
|
+
// has no timeout — set silentCheckSsoFallback to false if you need to disable it
|
|
44
|
+
// when cookies are blocked rather than falling back to a redirect.
|
|
41
45
|
init: {
|
|
42
|
-
onLoad: '',
|
|
46
|
+
onLoad: 'check-sso',
|
|
43
47
|
pkceMethod: 'S256',
|
|
44
48
|
checkLoginIframe: false,
|
|
49
|
+
silentCheckSsoRedirectUri: `${window.location.origin}/silent-check-sso.html`,
|
|
45
50
|
},
|
|
46
51
|
// Not onAuthLogout: keycloak-js only invokes that via the session-status
|
|
47
52
|
// iframe (disabled above by checkLoginIframe: false) or in Cordova mode --
|
|
@@ -11,6 +11,7 @@ const init_1 = require("../init/init");
|
|
|
11
11
|
const devkit_1 = require("@nx/devkit");
|
|
12
12
|
const path = require("path");
|
|
13
13
|
const paired_project_1 = require("../../utils/paired-project");
|
|
14
|
+
const nginx_1 = require("../../utils/nginx");
|
|
14
15
|
const vue_components_1 = require("../vue-components/vue-components");
|
|
15
16
|
function normalizeOptions(host, options) {
|
|
16
17
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -46,6 +47,7 @@ function addFiles(host, options) {
|
|
|
46
47
|
// Import specifier for the shared GoA wrapper lib (AGENTS.md references it).
|
|
47
48
|
goaImportPath: (0, vue_components_1.vueComponentsImportPath)(host), tmpl: '' });
|
|
48
49
|
(0, devkit_1.generateFiles)(host, path.join(__dirname, 'files'), options.projectRoot, templateOptions);
|
|
50
|
+
host.write(`${options.projectRoot}/public/nginx.conf`, (0, nginx_1.generateNginxConf)({ proxyLocations: options.nginxProxies, silentCheckSso: true }));
|
|
49
51
|
const addProxyConf = options.nginxProxies.length > 0;
|
|
50
52
|
if (addProxyConf) {
|
|
51
53
|
(0, devkit_1.writeJson)(host, `${options.projectRoot}/vite.proxy.json`, (0, paired_project_1.buildDevProxyConf)(options.nginxProxies));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-app.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/vue-app/vue-app.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"vue-app.js","sourceRoot":"","sources":["../../../../../../packages/nx-adsp/src/generators/vue-app/vue-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,26 +255,16 @@ describe('Vue App Generator', () => {
|
|
|
255
255
|
expect(app).toContain('@dismiss="session.dismiss"');
|
|
256
256
|
}, 30000);
|
|
257
257
|
|
|
258
|
-
it('inits Keycloak with
|
|
258
|
+
it('inits Keycloak with checkLoginIframe disabled and silent SSO enabled', async () => {
|
|
259
259
|
await generator(host, options);
|
|
260
|
-
|
|
261
|
-
//
|
|
262
|
-
const code = host
|
|
263
|
-
.read('apps/test/src/main.ts')
|
|
264
|
-
.toString()
|
|
265
|
-
.split('\n')
|
|
266
|
-
.filter((l) => !l.trim().startsWith('//'))
|
|
267
|
-
.join('\n');
|
|
268
|
-
// keycloak-js's silent-SSO (silentCheckSsoRedirectUri) and login-status
|
|
269
|
-
// (checkLoginIframe) iframes both wait on an untimed postMessage that hangs
|
|
270
|
-
// when third-party cookies are blocked, leaving keycloak.login() a no-op. We
|
|
271
|
-
// disable both and skip the load-time check (empty onLoad) so init settles.
|
|
272
|
-
expect(code).not.toContain('silentCheckSsoRedirectUri');
|
|
260
|
+
const code = host.read('apps/test/src/main.ts').toString();
|
|
261
|
+
// checkLoginIframe: false — disables 5s background polling; session expiry via refresh token is sufficient.
|
|
273
262
|
expect(code).toContain('checkLoginIframe: false');
|
|
274
|
-
|
|
263
|
+
// silentCheckSsoRedirectUri — auto-authenticates on load; 3p-cookie probe falls back to a redirect if blocked.
|
|
264
|
+
expect(code).toContain('silentCheckSsoRedirectUri');
|
|
265
|
+
expect(code).toContain("onLoad: 'check-sso'");
|
|
275
266
|
expect(code).toContain("pkceMethod: 'S256'");
|
|
276
|
-
|
|
277
|
-
expect(host.exists('apps/test/public/silent-check-sso.html')).toBeFalsy();
|
|
267
|
+
expect(host.exists('apps/test/public/silent-check-sso.html')).toBeTruthy();
|
|
278
268
|
}, 30000);
|
|
279
269
|
|
|
280
270
|
it('reads Keycloak fields off the reactive instance without destructuring', async () => {
|
package/src/utils/nginx.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export interface NginxProxyConfiguration {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
location: string;
|
|
3
|
+
proxyPass: string;
|
|
4
4
|
}
|
|
5
|
+
export interface NginxOptions {
|
|
6
|
+
proxyLocations?: NginxProxyConfiguration[];
|
|
7
|
+
silentCheckSso?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function generateNginxConf({ proxyLocations, silentCheckSso }: NginxOptions): string;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateNginxConf = generateNginxConf;
|
|
4
|
+
function generateNginxConf({ proxyLocations = [], silentCheckSso = false }) {
|
|
5
|
+
const proxyBlocks = proxyLocations
|
|
6
|
+
.map(({ location, proxyPass }) => `\n location ${location} {\n` +
|
|
7
|
+
` proxy_pass ${proxyPass};\n` +
|
|
8
|
+
` proxy_set_header Host $host;\n` +
|
|
9
|
+
` proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n` +
|
|
10
|
+
` proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;\n` +
|
|
11
|
+
` }`)
|
|
12
|
+
.join('\n');
|
|
13
|
+
// nginx add_header inheritance: a location block that defines its own add_header
|
|
14
|
+
// directives stops inheriting ALL add_header directives from the server block.
|
|
15
|
+
// /silent-check-sso.html must be loadable in a hidden iframe by the Keycloak JS
|
|
16
|
+
// adapter (silent SSO check), so we intentionally omit frame-ancestors and
|
|
17
|
+
// X-Frame-Options here. All other security headers are re-declared explicitly.
|
|
18
|
+
const ssoBlock = silentCheckSso
|
|
19
|
+
? `\n location = /silent-check-sso.html {\n` +
|
|
20
|
+
` add_header Cache-Control "no-store" always;\n` +
|
|
21
|
+
` add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;\n` +
|
|
22
|
+
` add_header X-Content-Type-Options "nosniff" always;\n` +
|
|
23
|
+
` add_header Referrer-Policy "strict-origin-when-cross-origin" always;\n` +
|
|
24
|
+
` }\n`
|
|
25
|
+
: '';
|
|
26
|
+
return (`events {\n` +
|
|
27
|
+
` worker_connections 1024;\n` +
|
|
28
|
+
`}\n` +
|
|
29
|
+
`\n` +
|
|
30
|
+
`http {\n` +
|
|
31
|
+
` sendfile on;\n` +
|
|
32
|
+
` include mime.types;\n` +
|
|
33
|
+
` default_type application/octet-stream;\n` +
|
|
34
|
+
`\n` +
|
|
35
|
+
` gzip on;\n` +
|
|
36
|
+
` gzip_types text/plain text/css application/javascript application/json image/svg+xml font/woff2;\n` +
|
|
37
|
+
` gzip_min_length 1000;\n` +
|
|
38
|
+
`\n` +
|
|
39
|
+
` server {\n` +
|
|
40
|
+
` listen 8080;\n` +
|
|
41
|
+
` root /opt/app-root/src;\n` +
|
|
42
|
+
` index index.html;\n` +
|
|
43
|
+
`\n` +
|
|
44
|
+
` add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;\n` +
|
|
45
|
+
` add_header X-Content-Type-Options "nosniff" always;\n` +
|
|
46
|
+
` add_header X-Frame-Options "DENY" always;\n` +
|
|
47
|
+
` add_header Referrer-Policy "strict-origin-when-cross-origin" always;\n` +
|
|
48
|
+
` add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' https://*.gov.ab.ca https://*.alberta.ca; connect-src 'self' https://*.gov.ab.ca https://*.alberta.ca; frame-ancestors 'none'; form-action 'self'; base-uri 'self';" always;\n` +
|
|
49
|
+
`\n` +
|
|
50
|
+
` location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {\n` +
|
|
51
|
+
` expires 30d;\n` +
|
|
52
|
+
` add_header Cache-Control "public, no-transform";\n` +
|
|
53
|
+
` }\n` +
|
|
54
|
+
ssoBlock +
|
|
55
|
+
`\n` +
|
|
56
|
+
` location / {\n` +
|
|
57
|
+
` try_files $uri /index.html;\n` +
|
|
58
|
+
` }\n` +
|
|
59
|
+
proxyBlocks +
|
|
60
|
+
`\n }\n` +
|
|
61
|
+
`}\n`);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=nginx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nginx.js","sourceRoot":"","sources":["../../../../../packages/nx-adsp/src/utils/nginx.ts"],"names":[],"mappings":";;AAUA,8CAiEC;AAjED,SAAgB,iBAAiB,CAAC,EAAE,cAAc,GAAG,EAAE,EAAE,cAAc,GAAG,KAAK,EAAgB;IAC7F,MAAM,WAAW,GAAG,cAAc;SAC/B,GAAG,CACF,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAC1B,kBAAkB,QAAQ,MAAM;QAChC,oBAAoB,SAAS,KAAK;QAClC,sCAAsC;QACtC,sEAAsE;QACtE,qEAAqE;QACrE,OAAO,CACV;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,cAAc;QAC7B,CAAC,CAAC,6CAA6C;YAC7C,qDAAqD;YACrD,4FAA4F;YAC5F,6DAA6D;YAC7D,8EAA8E;YAC9E,SAAS;QACX,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACL,YAAY;QACZ,8BAA8B;QAC9B,KAAK;QACL,IAAI;QACJ,UAAU;QACV,kBAAkB;QAClB,yBAAyB;QACzB,4CAA4C;QAC5C,IAAI;QACJ,cAAc;QACd,sGAAsG;QACtG,2BAA2B;QAC3B,IAAI;QACJ,cAAc;QACd,oBAAoB;QACpB,+BAA+B;QAC/B,yBAAyB;QACzB,IAAI;QACJ,0FAA0F;QAC1F,2DAA2D;QAC3D,iDAAiD;QACjD,4EAA4E;QAC5E,uUAAuU;QACvU,IAAI;QACJ,8EAA8E;QAC9E,sBAAsB;QACtB,0DAA0D;QAC1D,SAAS;QACT,QAAQ;QACR,IAAI;QACJ,oBAAoB;QACpB,qCAAqC;QACrC,SAAS;QACT,WAAW;QACX,SAAS;QACT,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
events {
|
|
2
|
-
worker_connections 1024;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
http {
|
|
6
|
-
sendfile on;
|
|
7
|
-
include mime.types;
|
|
8
|
-
default_type application/octet-stream;
|
|
9
|
-
|
|
10
|
-
gzip on;
|
|
11
|
-
gzip_types text/plain text/css application/javascript application/json image/svg+xml font/woff2;
|
|
12
|
-
gzip_min_length 1000;
|
|
13
|
-
|
|
14
|
-
server {
|
|
15
|
-
listen 8080;
|
|
16
|
-
root /opt/app-root/src;
|
|
17
|
-
index index.html;
|
|
18
|
-
|
|
19
|
-
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
|
20
|
-
add_header X-Content-Type-Options "nosniff" always;
|
|
21
|
-
add_header X-Frame-Options "SAMEORIGIN" always;
|
|
22
|
-
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
|
23
|
-
|
|
24
|
-
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
|
|
25
|
-
expires 30d;
|
|
26
|
-
add_header Cache-Control "public, no-transform";
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
location / {
|
|
30
|
-
try_files $uri /index.html;
|
|
31
|
-
}
|
|
32
|
-
<% nginxProxies.forEach(function(nginxProxy){ %>
|
|
33
|
-
location <%= nginxProxy.location %> {
|
|
34
|
-
proxy_pass <%= nginxProxy.proxyPass %>;
|
|
35
|
-
proxy_set_header Host $host;
|
|
36
|
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
37
|
-
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
|
|
38
|
-
}
|
|
39
|
-
<% }); %>
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
events {
|
|
2
|
-
worker_connections 1024;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
http {
|
|
6
|
-
sendfile on;
|
|
7
|
-
include mime.types;
|
|
8
|
-
default_type application/octet-stream;
|
|
9
|
-
|
|
10
|
-
gzip on;
|
|
11
|
-
gzip_types text/plain text/css application/javascript application/json image/svg+xml font/woff2;
|
|
12
|
-
gzip_min_length 1000;
|
|
13
|
-
|
|
14
|
-
server {
|
|
15
|
-
listen 8080;
|
|
16
|
-
root /opt/app-root/src;
|
|
17
|
-
index index.html;
|
|
18
|
-
|
|
19
|
-
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
|
20
|
-
add_header X-Content-Type-Options "nosniff" always;
|
|
21
|
-
add_header X-Frame-Options "SAMEORIGIN" always;
|
|
22
|
-
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
|
23
|
-
|
|
24
|
-
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
|
|
25
|
-
expires 30d;
|
|
26
|
-
add_header Cache-Control "public, no-transform";
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
location = /silent-check-sso.html {
|
|
30
|
-
add_header Cache-Control "no-store";
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
location / {
|
|
34
|
-
try_files $uri /index.html;
|
|
35
|
-
}
|
|
36
|
-
<% nginxProxies.forEach(function(nginxProxy){ %>
|
|
37
|
-
location <%= nginxProxy.location %> {
|
|
38
|
-
proxy_pass <%= nginxProxy.proxyPass %>;
|
|
39
|
-
proxy_set_header Host $host;
|
|
40
|
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
41
|
-
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
|
|
42
|
-
}
|
|
43
|
-
<% }); %>
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
events {
|
|
2
|
-
worker_connections 1024;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
http {
|
|
6
|
-
sendfile on;
|
|
7
|
-
include mime.types;
|
|
8
|
-
default_type application/octet-stream;
|
|
9
|
-
|
|
10
|
-
gzip on;
|
|
11
|
-
gzip_types text/plain text/css application/javascript application/json image/svg+xml font/woff2;
|
|
12
|
-
gzip_min_length 1000;
|
|
13
|
-
|
|
14
|
-
server {
|
|
15
|
-
listen 8080;
|
|
16
|
-
root /opt/app-root/src;
|
|
17
|
-
index index.html;
|
|
18
|
-
|
|
19
|
-
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
|
20
|
-
add_header X-Content-Type-Options "nosniff" always;
|
|
21
|
-
add_header X-Frame-Options "SAMEORIGIN" always;
|
|
22
|
-
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
|
23
|
-
|
|
24
|
-
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
|
|
25
|
-
expires 30d;
|
|
26
|
-
add_header Cache-Control "public, no-transform";
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
location / {
|
|
30
|
-
try_files $uri /index.html;
|
|
31
|
-
}
|
|
32
|
-
<% nginxProxies.forEach(function(nginxProxy){ %>
|
|
33
|
-
location <%= nginxProxy.location %> {
|
|
34
|
-
proxy_pass <%= nginxProxy.proxyPass %>;
|
|
35
|
-
proxy_set_header Host $host;
|
|
36
|
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
37
|
-
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
|
|
38
|
-
}
|
|
39
|
-
<% }); %>
|
|
40
|
-
}
|
|
41
|
-
}
|