Назад | Перейти на главную страницу

Можно ли запустить два веб-сервера на одном порту на одном сервере? Например, Apache и Lighttpd

Возможный дубликат:
Запуск двух служб на 80-м порту

У меня есть QNAP TS-459 Pro II, который поставляется с веб-сервером Apache, который работает на порту 80.

Я также хотел бы провести небольшой Sinatra приложение; также на порту 80.

Я бы хотел, чтобы Apache обслужил example.com и foo.example.com, но я бы хотел, чтобы Синатра подал bar.exapmle.com.

Возможно ли, чтобы оба веб-сервера работали на одном порте, но отвечали только на основе привязки определенного домена?

Только одно приложение может иметь определенную комбинацию порта / IP-адреса одновременно, но вы можете приблизительно рассчитать то, что хотите, настроив Apache в качестве обратного прокси.

Основные моменты -

  • Запустите Apache на порту 80 и включите mod_proxy
  • НЕ включайте ProxyRequests (только для прямого проксирования)
  • Запустите другое приложение на другом порту и / или IP
  • Используйте виртуальные хосты Apache и конфигурацию обратного прокси, чтобы направить трафик на соответствующий сайт.

Вы можете увидеть эти ссылки для получения дополнительной информации -

Статья ApacheTutor

Документация Apache mod_proxy

Нет, если у вас нет двух разных общедоступных IP-адресов на сервере, к которым может привязаться каждый сервер. Затем каждому серверу необходимо явно прослушивать определенную комбинацию IP / порта, и он будет «просто работать».

Обычное решение, если у вас есть доступ только к одному IP-адресу, - это настроить сервер Sinatra на другой порт (localhost:808* популярен), а затем используйте mod_proxy в Apache для внутреннего управления доменом серверов Sinatra.