Skip to content

fix(nginx): fronted projects emit TLS only when the serving stack holds the cert pair (D-0572) - #901

Merged
acamarata merged 2 commits into
mainfrom
debt-9-d0572
Oct 20, 2026
Merged

acamarata merged 2 commits into
mainfrom
debt-9-d0572

Conversation

@acamarata

Copy link
Copy Markdown
Collaborator

Fixes D-0572.

A project with NGINX_FRONTED_BY is served by the fronting stack's nginx, which mounts its own ssl/. The TLS decision (sslShouldEmit) read the project's own ssl/ or assumed true in local mode, so site confs and plugin snippets could name a certificate the serving nginx cannot load.

  • For every mode but none, a fronted project now needs the pair in nginxtopo.ServedSSLDir; without it the confs are HTTP-only and TLS plugin snippets are skipped with the existing warning.
  • A shared-proxy owner (NGINX_MODE=shared) keeps its flow: the build copies the pair into the owner's ssl itself, so the old rule applies.
  • Unconfirmed fronting layout reads as absent (the build refuses it anyway).
  • Table-driven test over mode x own pair x served pair x shared owner x assumed; with the fronted branch disabled, 5 cases fail.
  • Wiki Config-Nginx updated.

Verified: gofmt clean, go vet, go test of internal/nginx and internal/build.

…ds the cert pair (D-0572)

A project with NGINX_FRONTED_BY is served by the fronting stack's nginx, which
mounts its own ssl/. The TLS decision read the project's own ssl/ (or assumed
true in local mode), so site confs and plugin snippets could name a
certificate the serving nginx cannot load. Check the pair in
nginxtopo.ServedSSLDir for every mode but none. A shared-proxy owner keeps the
existing flow, where the build copies the pair in.
…y owner (D-0572)

internal/nginx must not import internal/sharedproxy (same-layer edge).
nginxtopo owns the owner-file path; sharedproxy re-exports it.
@acamarata
acamarata merged commit b740f87 into main Oct 20, 2026
34 of 36 checks passed
@acamarata
acamarata deleted the debt-9-d0572 branch October 20, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant