Доработка безопасности силами кадди,

правка конфигов
This commit is contained in:
2025-08-27 15:33:28 +03:00
parent dbbabb03d9
commit d71d3d08e0
3 changed files with 30 additions and 5 deletions
+22 -1
View File
@@ -26,6 +26,15 @@
caddy hash-password --plaintext 'секрет'
```
Или на python:
```bash
pip install bcrypt
```
```bash
python -c "import bcrypt,sys; print(bcrypt.hashpw(sys.argv[1].encode(), bcrypt.gensalt(rounds=12)).decode())" 'секрет'
```
После изменения файла нужно перезапустить контейнер `caddy`.
## Защита контейнеров
@@ -33,8 +42,20 @@ caddy hash-password --plaintext 'секрет'
Чтобы ограничить доступ к какому-либо сервису, добавьте к контейнеру метку:
```
caddy.import: auth_portal_forwarder
caddy.import: auth_forward
```
и обычные метки для виртуального хоста и `reverse_proxy`. Пример для Portainer уже есть в `docker-compose.yml`.
После авторизации пользователь возвращается к запрошенному сервису.
### Открытие пути для API
Чтобы открыть некий путь без авторизации, добавить лейблы:
```
caddy.handle_path: /api/*
caddy.handle_path.0_reverse_proxy: "{{upstreams 9000}}"
```
и не прописывать им `caddy.import: auth_forward`.
И наоборот, аналогично можно закрыть авторизацией только нужный путь.
+3 -1
View File
@@ -33,8 +33,10 @@ services:
networks: [proxy]
labels:
caddy: port.realy.nothing.help
caddy.handle_path: /api/*
caddy.handle_path.0_reverse_proxy: "{{upstreams 9000}}"
caddy.encode: zstd gzip
caddy.import: auth_portal_forwarder
caddy.import: auth_forward
caddy.reverse_proxy: "{{upstreams 9000}}"
volumes:
+5 -3
View File
@@ -3,8 +3,10 @@
{
"username": "deadcxap",
"email": "dead@cxap.space",
"password": "$2a$10$5x5iG8uDD/A.zxTCr14iUuLS1d8FgEiH8oi1de6pF2Nl/iZNDBEvG",
"roles": ["admin"]
"password": "$2b$12$s5SZcTu0THrdIHmdqTIuS.Hb89nokYfwF5xSDPSJPZsKoYnFkv61i",
"roles": [
"admin"
]
}
]
}
}