Caddyfile без предупреждений при запуске
Caddy ругался на два места. header_up X-Forwarded-For был лишним: Caddy сам игнорирует этот заголовок из входящего запроса и подставляет реальный адрес, защита от подделки обеспечивается его поведением по умолчанию. Пустая строка перед глобальным блоком делала файл неформатированным по мнению caddy fmt. Проверено caddy fmt и caddy validate на сгенерированном файле. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7494883309
commit
cd02fabb2e
+7
-6
@@ -22,9 +22,10 @@ CADDY_WAIT_SEC = 3
|
||||
def render_caddyfile(domains: str, port: int, max_upload_mb: int) -> str:
|
||||
"""Собирает конфигурацию Caddy из настроек сервиса."""
|
||||
listed = ", ".join(d.strip() for d in domains.split(",") if d.strip())
|
||||
# Пустой строки перед блоком быть не должно: caddy fmt считает это
|
||||
# неформатированным файлом и ругается при каждом запуске.
|
||||
return f"""{MARK}
|
||||
# Домены и предел размера берутся из config.toml, менять нужно там.
|
||||
|
||||
{{
|
||||
\t# Caddy очень подробно рассказывает про сертификаты. В консоли из-за этого
|
||||
\t# не видно сообщений сервиса, поэтому его вывод уходит в файл.
|
||||
@@ -39,11 +40,11 @@ def render_caddyfile(domains: str, port: int, max_upload_mb: int) -> str:
|
||||
}}
|
||||
|
||||
{listed} {{
|
||||
\treverse_proxy 127.0.0.1:{port} {{
|
||||
\t\t# Реальный адрес клиента - иначе список разрешённых адресов
|
||||
\t\t# увидит вместо него localhost и пустит кого угодно.
|
||||
\t\theader_up X-Forwarded-For {{remote_host}}
|
||||
\t}}
|
||||
\t# X-Forwarded-For здесь намеренно не задаётся: Caddy сам игнорирует этот
|
||||
\t# заголовок из входящего запроса и подставляет реальный адрес клиента.
|
||||
\t# Не добавляйте сюда trusted_proxies - тогда Caddy начнёт верить заголовку
|
||||
\t# от клиента, и любой сможет назваться разрешённым адресом.
|
||||
\treverse_proxy 127.0.0.1:{port}
|
||||
|
||||
\trequest_body {{
|
||||
\t\tmax_size {max_upload_mb}MB
|
||||
|
||||
Reference in New Issue
Block a user