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