Update Nginx and Caddy guides - #497
Conversation
Add compression options and replace version 2.9 to latest
Greptile SummaryThis PR updates the Nginx and Caddy reverse-proxy guides by reorganising the directory layout (certs →
Confidence Score: 3/5The nginx guide may produce a broken container for users whose nginx:stable image ships with OpenSSL older than 3.5, as the new ssl_ecdh_curve entry X25519MLKEM768 is unrecognised without that OpenSSL version. The ssl_ecdh_curve directive now includes X25519MLKEM768, which the source config URL explicitly ties to OpenSSL 3.5. The Docker image was simultaneously changed from the specific nginx:1.30 to nginx:stable, whose bundled OpenSSL version is not guaranteed. If the curve name is unrecognised at runtime, nginx refuses to start entirely — an immediately visible but hard-to-diagnose failure for users following the guide step by step. docs/install/reverse-proxies/nginx.md deserves a second look specifically around the ssl_ecdh_curve directive and whether nginx:stable reliably ships with OpenSSL 3.5 support. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Client HTTPS :443] --> B{SNI match?}
B -- Known domain --> C[remnawave server block\nremnawave.conf]
B -- Subscription domain --> D[subpage server block\nsubpage.conf]
B -- Unknown SNI --> E[default_server reuseport\nssl_reject_handshake on]
C --> F[proxy_pass http://remnawave:3000]
D --> G{Method == GET?}
G -- Yes --> H[proxy_pass http://remnawave-subscription-page:3010]
G -- No --> I[deny all]
H --> J{Error 4xx/5xx?}
J -- Yes --> K[return 404]
J -- No --> L[Response to client]
subgraph Shared http-level config in remnawave.conf
M[ssl_protocols TLSv1.2 TLSv1.3]
N[ssl_ecdh_curve X25519MLKEM768...]
O[gzip_types / gzip settings]
P[OCSP stapling + resolver]
end
subgraph Volume mounts
Q[./ssl/ -> /etc/nginx/ssl/ ro]
R[./conf.d/ -> /etc/nginx/conf.d/ ro]
end
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Client HTTPS :443] --> B{SNI match?}
B -- Known domain --> C[remnawave server block\nremnawave.conf]
B -- Subscription domain --> D[subpage server block\nsubpage.conf]
B -- Unknown SNI --> E[default_server reuseport\nssl_reject_handshake on]
C --> F[proxy_pass http://remnawave:3000]
D --> G{Method == GET?}
G -- Yes --> H[proxy_pass http://remnawave-subscription-page:3010]
G -- No --> I[deny all]
H --> J{Error 4xx/5xx?}
J -- Yes --> K[return 404]
J -- No --> L[Response to client]
subgraph Shared http-level config in remnawave.conf
M[ssl_protocols TLSv1.2 TLSv1.3]
N[ssl_ecdh_curve X25519MLKEM768...]
O[gzip_types / gzip settings]
P[OCSP stapling + resolver]
end
subgraph Volume mounts
Q[./ssl/ -> /etc/nginx/ssl/ ro]
R[./conf.d/ -> /etc/nginx/conf.d/ ro]
end
Reviews (1): Last reviewed commit: "docs: update Caddy guides" | Re-trigger Greptile |
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
|
|
||
| ```bash | ||
| acme.sh --issue --standalone -d 'DOMAIN' --key-file /opt/remnawave/nginx/privkey.key --fullchain-file /opt/remnawave/nginx/fullchain.pem --alpn --tlsport 8443 --reloadcmd "docker exec remnawave-nginx nginx -s reload" | ||
| acme.sh --issue --standalone -d 'DOMAIN' --key-file /opt/remnawave/nginx/ssl/privkey.key --fullchain-file /opt/remnawave/nginx/ssl/fullchain.pem --alpn --tlsport 8443 --reloadcmd "docker exec remnawave-nginx nginx -s reload" |
There was a problem hiding this comment.
Не очень понятно, зачем кто-то ранее добавил команду на перезапуск контейнера Nginx, которого согласно шагам инструкции еще нет
| name: remnawave-network | ||
| driver: bridge | ||
| external: true | ||
| docker exec remnawave-nginx nginx -t && docker exec remnawave-nginx nginx -s reload |
There was a problem hiding this comment.
Можно поменять на docker restart remnawave-nginx
| Or you can perform full restart of container. | ||
|
|
||
| ```bash | ||
| docker compose down && docker compose up -d && docker compose logs -f |
There was a problem hiding this comment.
Так как находимся в директории /opt/remnawave/nginx/conf.d получим ошибку. Логичнее добавить в начале cd /opt/remnawave/nginx
Nginx:
Caddy: