diff --git a/server/db/schemas/schema.ts b/server/db/schemas/schema.ts index 5263161b..ecb5cd35 100644 --- a/server/db/schemas/schema.ts +++ b/server/db/schemas/schema.ts @@ -78,8 +78,8 @@ export const resources = sqliteTable("resources", { .notNull() .default(false), enabled: integer("enabled", { mode: "boolean" }).notNull().default(true), - tlsServerName: text("tlsServerName").notNull().default(""), - setHostHeader: text("setHostHeader").notNull().default("") + tlsServerName: text("tlsServerName"), + setHostHeader: text("setHostHeader") }); export const targets = sqliteTable("targets", { diff --git a/server/routers/traefik/getTraefikConfig.ts b/server/routers/traefik/getTraefikConfig.ts index 8a952546..d6053430 100644 --- a/server/routers/traefik/getTraefikConfig.ts +++ b/server/routers/traefik/getTraefikConfig.ts @@ -290,7 +290,7 @@ export async function traefikConfigProvider( } config_output.http.serversTransports![transportName] = { serverName: resource.tlsServerName, - //unfortunately the following needs to be set. traefik doesn't merge the default serverTransport settings + //unfortunately the following needs to be set. traefik doesn't merge the default serverTransport settings // if defined in the static config and here. if not set, self-signed certs won't work insecureSkipVerify: true }; diff --git a/src/app/[orgId]/settings/resources/[resourceId]/general/page.tsx b/src/app/[orgId]/settings/resources/[resourceId]/general/page.tsx index 05d263e6..cf75a426 100644 --- a/src/app/[orgId]/settings/resources/[resourceId]/general/page.tsx +++ b/src/app/[orgId]/settings/resources/[resourceId]/general/page.tsx @@ -122,8 +122,9 @@ const AdvancedFormSchema = z } return true; }, - { - message: "Invalid TLS Server Name. Use domain name format, or save empty to remove the TLS Server Name.", + { + message: + "Invalid TLS Server Name. Use domain name format, or save empty to remove the TLS Server Name.", path: ["tlsServerName"] } ) @@ -134,8 +135,9 @@ const AdvancedFormSchema = z } return true; }, - { - message: "Invalid custom Host Header value. Use domain name format, or save empty to unset the custom Host Header", + { + message: + "Invalid custom Host Header value. Use domain name format, or save empty to unset the custom Host Header", path: ["tlsServerName"] } ); @@ -187,8 +189,12 @@ export default function GeneralForm() { resolver: zodResolver(AdvancedFormSchema), defaultValues: { http: resource.http, - tlsServerName: resource.http ? resource.tlsServerName || "" : undefined, - setHostHeader: resource.http ? resource.setHostHeader || "" : undefined + tlsServerName: resource.http + ? resource.tlsServerName || "" + : undefined, + setHostHeader: resource.http + ? resource.setHostHeader || "" + : undefined }, mode: "onChange" }); @@ -683,81 +689,77 @@ export default function GeneralForm() { - {resource.http && ( - <> - - - Advanced - - Adjust advanced settings for the resource, like customize the Host Header or set a TLS Server Name for SNI based routing. - - - - -
- - {/* New TLS Server Name Field */} -
- - TLS Server Name (optional) - - ( - - - - - - - )} - /> -
- {/* New Custom Host Header Field */} -
- - Custom Host Header (optional) - - ( - - - - - - - )} - /> -
-
- -
-
+ {resource.http && ( + <> + + + + Advanced + + + Adjust advanced settings for the resource, + like customize the Host Header or set a TLS + Server Name for SNI based routing. + + + + +
+ + + TLS Server Name (optional) + + ( + + + + + + + )} + /> - - - - - - )} + + Custom Host Header (optional) + + ( + + + + + + + )} + /> + + +
+
+ + + + +
+ + )}