Add favicon passthrough

This commit is contained in:
Owen
2026-05-13 21:11:25 -07:00
parent a6ae9290f2
commit 013af49137
3 changed files with 8 additions and 18 deletions

View File

@@ -705,7 +705,7 @@ export async function getTraefikConfig(
resource.ssl ? entrypointHttps : entrypointHttp resource.ssl ? entrypointHttps : entrypointHttp
], ],
service: maintenanceServiceName, service: maintenanceServiceName,
rule: `${rule} && (PathPrefix(\`/_next\`) || PathRegexp(\`^/__nextjs*\`))`, rule: `${rule} && (PathPrefix(\`/_next\`) || PathRegexp(\`^/__nextjs*\`) || Path(\`/favicon.ico\`)) `,
priority: 2001, priority: 2001,
...(resource.ssl ? { tls } : {}) ...(resource.ssl ? { tls } : {})
}; };
@@ -1190,8 +1190,7 @@ export async function getTraefikConfig(
loadBalancer: { loadBalancer: {
servers: [ servers: [
{ {
// url: `http://${internalHost}:${internalPort}` url: `http://${internalHost}:${internalPort}`
url: `https://owen-devel.hostlocal.app`
} }
] ]
} }
@@ -1204,7 +1203,7 @@ export async function getTraefikConfig(
entryPoints: [entrypoint], entryPoints: [entrypoint],
middlewares: routerMiddlewares, middlewares: routerMiddlewares,
service: bgUiServiceName, service: bgUiServiceName,
rule: `${hostRule} && (PathPrefix(\`/_next\`) || PathRegexp(\`^/__nextjs*\`))`, rule: `${hostRule} && (PathPrefix(\`/_next\`) || PathRegexp(\`^/__nextjs*\`) || Path(\`/favicon.ico\`))`,
priority: 101, priority: 101,
...(bgResource.ssl ? { tls } : {}) ...(bgResource.ssl ? { tls } : {})
}; };
@@ -1336,7 +1335,7 @@ export async function getTraefikConfig(
config_output.http.routers[`${siteResourceRouterName}-assets`] = { config_output.http.routers[`${siteResourceRouterName}-assets`] = {
entryPoints: [config.getRawConfig().traefik.https_entrypoint], entryPoints: [config.getRawConfig().traefik.https_entrypoint],
service: siteResourceServiceName, service: siteResourceServiceName,
rule: `Host(\`${fullDomain}\`) && (PathPrefix(\`/_next\`) || PathRegexp(\`^/__nextjs*\`))`, rule: `Host(\`${fullDomain}\`) && (PathPrefix(\`/_next\`) || PathRegexp(\`^/__nextjs*\`) || Path(\`/favicon.ico\`))`,
priority: 101, priority: 101,
tls tls
}; };
@@ -1439,7 +1438,7 @@ export async function getTraefikConfig(
config.getRawConfig().traefik.https_entrypoint config.getRawConfig().traefik.https_entrypoint
], ],
service: "landing-service", service: "landing-service",
rule: `Host(\`${fullDomain}\`) && (PathRegexp(\`^/auth/resource/[^/]+$\`) || PathRegexp(\`^/auth/idp/[0-9]+/oidc/callback\`) || PathPrefix(\`/_next\`) || Path(\`/auth/org\`) || PathRegexp(\`^/__nextjs*\`))`, rule: `Host(\`${fullDomain}\`) && (PathRegexp(\`^/auth/resource/[^/]+$\`) || PathRegexp(\`^/auth/idp/[0-9]+/oidc/callback\`) || PathPrefix(\`/_next\`) || Path(\`/auth/org\`) || PathRegexp(\`^/__nextjs*\`) || Path(\`/favicon.ico\`))`,
priority: 203, priority: 203,
tls: tls tls: tls
}; };

BIN
src/app/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -35,7 +35,6 @@ declare module "react" {
type FormState = { type FormState = {
username: string; username: string;
password: string; password: string;
gatewayAddress: string;
hostname: string; hostname: string;
domain: string; domain: string;
authtoken: string; authtoken: string;
@@ -59,7 +58,6 @@ export default function RdpClient() {
const [form, setForm] = useState<FormState>({ const [form, setForm] = useState<FormState>({
username: "Administrator", username: "Administrator",
password: "Password123!", password: "Password123!",
gatewayAddress: "ws://localhost:8082/rdp",
hostname: "172.31.3.58:3389", hostname: "172.31.3.58:3389",
domain: "", domain: "",
authtoken: "pangolin-browser-gateway-dev", authtoken: "pangolin-browser-gateway-dev",
@@ -233,7 +231,9 @@ export default function RdpClient() {
.withUsername(form.username) .withUsername(form.username)
.withPassword(form.password) .withPassword(form.password)
.withDestination(form.hostname) .withDestination(form.hostname)
.withProxyAddress(form.gatewayAddress) .withProxyAddress(
`${window.location.protocol === "https:" ? "wss" : "ws"}://${window.location.host}/gateway/rdp`
)
.withServerDomain(form.domain) .withServerDomain(form.domain)
.withAuthToken(form.authtoken) .withAuthToken(form.authtoken)
.withDesktopSize({ .withDesktopSize({
@@ -341,15 +341,6 @@ export default function RdpClient() {
} }
/> />
</Field> </Field>
<Field label="Gateway Address" id="gatewayAddress">
<Input
id="gatewayAddress"
value={form.gatewayAddress}
onChange={(e) =>
update("gatewayAddress", e.target.value)
}
/>
</Field>
{/* <Field label="Auth Token" id="authtoken"> {/* <Field label="Auth Token" id="authtoken">
<Input <Input
id="authtoken" id="authtoken"