Есть проект на с сервером express.js
Пытаюсь поставить его на хостинг спринтхост
Сервер Express вроде бы запускается, поскольку при попытке зайти по адресу хостинга в итоге возвращает разметку
но все статичные файлы вроде стилей - нет.
Для каждого из них ловлю ошибку "
Failed to load resource: net::ERR_CONNECTION_TIMED_OUT"
Причем адрес который выдает таймаут содержит https, хотя в разметке запрос идет на http. Адреса до статичных файлов указаны относительно домена, но при попытке жестко их задать на адрес домена с протоколом эффект тот же
Вот код app.js который касается запуска сервера и статик ресурсов:
const app = express();
const port = 80;
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use(helmet());
app.listen(port,function (){
console.log('Сервер запущен по адресу http://localhost:' + port);
})
Там также есть роутинг, а еще используется passport (может быть дело в нем?..)
Вот содержимое .htaccess
Составлено по их
инструкции
SetEnv GHOST_NODE_VERSION_CHECK false
PassengerStartupFile ./bin/www
PassengerResolveSymlinksInDocumentRoot on
Require all granted
PassengerAppType node
PassengerAppRoot /home/a0544981/domains/gxp.ru/public_html
Options -MultiViews
Я это примерно так понял:
При попытке зайти напрямую по адресу сервера я использую http и получаю http; когда сам браузер пытается подгрузить статик файлы по http то его редиректит на https. Предполагаю, что у этих двух способов обращения к серверу разные заголовки запроса, и один из них вызывает редирект.
Я писал в поддержку, но там сказали что не знают почему так, и что мне стоит обратиться на специализированные ресурсы за помощью
При локальной разработке такого не наблюдалось, все ссылки ссылаются на http и получают данные по http.
Подобный опыт у меня первый, поэтому возможно я упускаю какую-то фундаментальную вещь которая сразу бросается в глаза