Ошибка: Сайт "сломался" (Нет стилей, картинок, ссылки не работают)

Симптомы: Главная страница открывается, но выглядит как «голый» HTML-документ. Ссылки ведут на неправильные адреса (например, с внутренним IP или портом).

Что это значит: Проксирование через NPM работает, но само приложение (целевой сервис) не знает своего нового, публичного адреса и генерирует все внутренние ссылки на ресурсы (CSS, JS, картинки) по-старому.

Решения (из моего опыта)

Это была одна из самых частых проблем при «публикации» сервисов. Решение всегда сводилось к одному: нужно «сообщить» приложению его новый правильный URL.

Для WordPress

Проблема: WordPress «помнил» адрес http://192.168.1.113:8080/blog. Решение:

1. Зайти в админ-панель WordPress.
2. В разделе **''Настройки -> Общие''** изменить **"Адрес WordPress (URL)"** и **"Адрес сайта (URL)"** на новый, правильный: <code>https://blog.hub-leo.ru</code>.
3. Если этого было недостаточно (из-за сложных редиректов), потребовалось добавить "железобетонные" константы в файл <code>wp-config.php</code>:
define('WP_HOME', 'https://blog.hub-leo.ru');
define('WP_SITEURL', 'https://blog.hub-leo.ru');

Для Snipe-IT

Проблема: Аналогичная, Snipe-IT «помнил» старый адрес с портом

:8443

. Решение:

1. Отредактировать конфигурационный файл .env.
2. Изменить значение переменной APP_URL на новый адрес: https://snipe.hub-leo.ru.
3. Выполнить в терминале команды для очистки кэша:
php artisan config:clear
php artisan cache:clear

Этот опыт показал, что при переводе любого веб-приложения за обратный прокси, **первое, что нужно сделать после настройки NPM, — найти в настройках приложения поле "URL сайта"** (или APP_URL, Base URL и т.п.) и обновить его.