5.4 KiB
Отлично! Спасибо за предоставленные данные. Давайте проанализируем:
✅ Что у нас уже работает:
-
Caddy запущен и активен:
Active: active (running) since Sat 2025-08-16 13:26:12 UTC→ ✅ Сервис Caddy работает.
-
Порт 80 слушается:
ss -tulnp | grep :80 tcp LISTEN 0 4096 *:80 *:*→ ✅ Caddy слушает порт 80.
-
Файлы сайта на месте:
- Есть
index.html,404.html, папкиassets,blogи т.д. - Права:
drwxrwxr-x— у пользователяniksonесть доступ. → ✅ Контент существует.
- Есть
❓ Почему curl http://localhost ничего не выводит?
Это подозрительно, потому что:
- Caddy запущен.
- Порт 80 слушается.
- Файлы есть.
Но curl http://localhost молчит — значит, Caddy не отдаёт контент, хотя технически работает.
🔍 Причина: ошибка в Caddyfile
Посмотрите на лог Caddy:
Aug 16 13:26:12 dev caddy[1742]: {"level":"warn","ts":1755350772.99452,"logger">
Там много warn (предупреждений), но они обрезаны. Давайте посмотрим полные логи:
sudo journalctl -u caddy -n 30 --no-pager
Но уже сейчас я могу предположить главную возможную причину:
🚨 Проблема: Caddy не может прочитать файлы из-за прав доступа
Хотя папка принадлежит nikson, Caddy работает от имени пользователя caddy (по умолчанию).
А папка /home/nikson/www/... — внутри домашней директории, которая по умолчанию не доступна другим пользователям.
🔎 Проверьте права на родительские папки:
ls -la /home/nikson/
Скорее всего, увидите:
drwx------ 7 nikson nikson 4096 ...
→ Это значит: только nikson может входить в эту папку.
Пользователь caddy не может пройти /home/nikson/www/..., даже если права на www хорошие.
✅ Решение: Открыть доступ к пути
Вариант 1: Добавить пользователя caddy в группу nikson и открыть доступ
# Добавляем пользователя caddy в группу nikson
sudo usermod -aG nikson caddy
# Даём доступ на чтение и выполнение для группы
chmod 750 /home/nikson
chmod -R 750 /home/nikson/www/MyBlogs/itblog.site/build
# Перезапускаем Caddy
sudo systemctl restart caddy
Вариант 2: Перенести сайт в общую папку (рекомендуется)
Это надёжнее и безопаснее:
# Создаём папку для веб-файлов
sudo mkdir -p /var/www/itblog.site
# Копируем туда build
sudo cp -r /home/nikson/www/MyBlogs/itblog.site/build/* /var/www/itblog.site/
# Меняем владельца
sudo chown -R caddy:caddy /var/www/itblog.site
# Меняем права
sudo chmod -R 755 /var/www/itblog.site
Обновите Caddyfile:
sudo nano /etc/caddy/Caddyfile
:80 {
root * /var/www/itblog.site
file_server
encode gzip
}
Перезапустите Caddy:
sudo systemctl restart caddy
✅ Проверка
Теперь выполните:
curl -v http://localhost
Вы должны увидеть:
- HTTP/1.1 200 OK
- И HTML-код (включая
<title>,index.htmlи т.д.)
🔁 После этого: настройка на хосте Proxmox
Когда сайт заработает на 139.60.161.10, убедитесь, что на хосте Proxmox (139.60.161.3) в Caddyfile:
itblog.site {
reverse_proxy 139.60.161.10:80
}
И перезагрузите Caddy на хосте:
sudo caddy reload
🧹 Дополнительно: Установка netstat
Вы пытались установить netstat, но пакет не найден. Правильно так:
sudo apt install net-tools
Но ss — это современная замена, так что можно продолжать с ним.
✅ Вывод
Проблема: Caddy не может читать файлы в /home/nikson/... из-за ограничений доступа к домашней папке.
Решение: либо открыть доступ группе, либо (лучше) перенести сайт в /var/www/.
👉 Сделайте вариант 2 (перенос в /var/www) — это стандартная и безопасная практика.
Напишите, если после этого curl http://localhost всё ещё не работает — поможем с логами.