fix: nginx startete nicht — gzip_static stand im falschen Block
Der Container ging sofort wieder aus, „exited:unhealthy", und im Deploy-Log
stand nichts daneben: Gebaut, gestartet, fertig. Ausgegangen ist er, weil
nginx seine Konfiguration nicht las.
Schuld war ein `sed` im Dockerfile, das `gzip_static on;` vor die erste Zeile
schieben sollte, die mit `}` beginnt. Das ist in der nginx.conf des Bildes
aber nicht das Ende von `http { … }`, sondern das von `events { … }` — und
dort ist die Anweisung ungültig.
Sie steht jetzt im eigenen Server-Block, wo sie hingehört, und das `sed` ist
weg. Eine Zeile, die eine fremde Konfigurationsdatei mit einem Muster
umschreibt, ist ohnehin eine Wette darauf, wie die Datei innen aussieht.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LTw6xVYgjMy9AQtfs1Gdyu
This commit is contained in:
parent
c39599bb61
commit
53a8bfe29b
2 changed files with 11 additions and 4 deletions
|
|
@ -21,10 +21,6 @@ RUN bun run build
|
||||||
# --- Ausliefern -------------------------------------------------------------
|
# --- Ausliefern -------------------------------------------------------------
|
||||||
FROM nginx:1.27-alpine
|
FROM nginx:1.27-alpine
|
||||||
|
|
||||||
# Vorkomprimierte Fassungen liegen dank `precompress` im Build daneben
|
|
||||||
# (.gz/.br). Ohne diese Zeile ignoriert nginx sie und packt jede Antwort neu.
|
|
||||||
RUN sed -i 's/^}/ gzip_static on;\n}/' /etc/nginx/nginx.conf || true
|
|
||||||
|
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
COPY --from=build /app/build /usr/share/nginx/html
|
COPY --from=build /app/build /usr/share/nginx/html
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,17 @@ server {
|
||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
|
# Vorkomprimierte Fassungen liegen dank `precompress` im Build daneben
|
||||||
|
# (.gz). Ohne diese Zeile ignoriert nginx sie und packt jede Antwort neu.
|
||||||
|
#
|
||||||
|
# Sie steht hier im Server-Block und nicht per `sed` in der
|
||||||
|
# `nginx.conf` des Bildes: Dort war die erste Zeile, die mit `}` beginnt,
|
||||||
|
# das Ende von `events { … }`. `gzip_static` ist dort keine gültige
|
||||||
|
# Anweisung, nginx verweigerte den Start, und der Container ging sofort
|
||||||
|
# wieder aus — „exited:unhealthy", ohne dass im Deploy-Log etwas
|
||||||
|
# danebenstand.
|
||||||
|
gzip_static on;
|
||||||
|
|
||||||
# Die Seiten sind beim Bauen entstanden und ändern sich nur mit dem
|
# Die Seiten sind beim Bauen entstanden und ändern sich nur mit dem
|
||||||
# nächsten Deployment. Das HTML selbst bleibt trotzdem ungecacht: Sonst
|
# nächsten Deployment. Das HTML selbst bleibt trotzdem ungecacht: Sonst
|
||||||
# zeigt ein Browser den Wegweiser von vorgestern, wenn sich der Text
|
# zeigt ein Browser den Wegweiser von vorgestern, wenn sich der Text
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue