fix: FORCE_HTTPS setting results in redirect loop when Outline terminates SSL

This commit is contained in:
Tom Moor
2023-02-02 21:45:33 -05:00
parent 1caa51f58e
commit a1cefa9771

View File

@@ -6,7 +6,10 @@ import {
referrerPolicy, referrerPolicy,
} from "koa-helmet"; } from "koa-helmet";
import mount from "koa-mount"; import mount from "koa-mount";
import enforceHttps, { xForwardedProtoResolver } from "koa-sslify"; import enforceHttps, {
httpsResolver,
xForwardedProtoResolver,
} from "koa-sslify";
import env from "@server/env"; import env from "@server/env";
import Logger from "@server/logging/Logger"; import Logger from "@server/logging/Logger";
import { initI18n } from "@server/utils/i18n"; import { initI18n } from "@server/utils/i18n";
@@ -45,7 +48,12 @@ export default function init(app: Koa = new Koa()): Koa {
if (env.FORCE_HTTPS) { if (env.FORCE_HTTPS) {
app.use( app.use(
enforceHttps({ enforceHttps({
resolver: xForwardedProtoResolver, resolver: (ctx) => {
if (httpsResolver(ctx)) {
return true;
}
return xForwardedProtoResolver(ctx);
},
}) })
); );
} else { } else {