#node.js #apache #meteor #cpanel #centos7
#node.js #apache #метеор #cpanel #centos7
Вопрос:
Я пытаюсь запустить веб-приложение node (созданное с помощью meteor) на сервере Centos7 под управлением EasyApache4 с WHM cPanel. Я пытаюсь запустить его на поддомене одного из наших основных веб-сайтов на порту 8080.
При переходе к поддомену на порту 8080 время просто истекает, но вы можете видеть HTML-код при использовании curl для доступа к нему.
У кого-нибудь есть какие-либо идеи, почему оно не будет работать через браузер, а также как я могу сделать так, чтобы оно выглядело так, будто оно запускается прямо из поддомена, вместо того, чтобы переходить непосредственно к порту.
Редактировать
Ниже приведен curl, который мы используем для просмотра html
curl http://subdomain.site.com:8080
Выполнение этого возвращает html без проблем
Комментарии:
1. Можете ли вы опубликовать точную строку, которую вы используете с помощью curl (маскируя имя хоста и / или любые учетные данные, конечно)
2. Посмотрите сетевой журнал в Chrome, чтобы узнать, что еще он извлекает. Возможно, загрузка тела работает, но все последующие выборки завершаются неудачно, что приведет к такому поведению. Является ли этот порт общим для других веб-сайтов? Если это так, это не сработает. Meteor должен быть на своем собственном порту. Его можно настроить для запуска с обратным прокси, если вы хотите поделиться портом
3. Больше ничего не появляется в сетевом журнале. Нет, порт не используется совместно — есть ли порт, который вы бы предложили? Спасибо
4. Возможно, причина вашей работы curl в том, что вы не отправляете какой-либо заголовок и не принимаете перенаправления так же, как это делает ваш браузер. Попробуйте просмотреть заголовки, отправленные из вашего браузера, в Chrome devtools
5. При просмотре заголовков запроса отображаются только предварительные заголовки. Спасибо
Ответ №1:
Сегодня была та же проблема. Я использую сервер Memset Centos7 с WHM / cPanel под управлением EasyApache 4.
Перепробовав все, что я мог придумать, я понял, что у меня была базовая настройка брандмауэра, которая закрывала все порты, которых не было в списке. После добавления порта 8080 это сработало.
Использовал это:
sudo iptables -I INPUT 1 -i -p tcp --dport 8080 -j ACCEPT
Я не уверен на 100%, насколько это безопасно, поскольку я все еще исследую.