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

прокси передать домен ОТ порта apache по умолчанию 80 К nginx на другом порту

Я все еще изучаю серверные вещи, так что надеюсь, что название достаточно информативное.

В основном у меня есть sub.domain.com, который я хочу запустить на nginx на порту 8090.

Я хочу оставить apache в покое и перехватить весь трафик по умолчанию на порту 80.

поэтому я пытаюсь что-то с виртуальным хостом имени для прокси-перехода на sub.domain.com:8090, пока ничего не работает, и я не знаю, какой может быть правильный синтаксис.

Любые идеи? большая часть того, что я обнаружил, заключалась в переходе на apache ИЗ nginx, но я хочу сделать наоборот.

LoadModule модули proxy_module / mod_proxy.so

LoadModule модули proxy_http_module / mod_proxy_http.so

<VirtualHost sub.domain.com:80>

ProxyPreserveHost On

ProxyRequests отключен

ServerName sub.domain.com

DocumentRoot / главная / приложение / общедоступный

ServerAlias ​​sub.domain.com

proxyPass / http://appname:8090/ (also tried localhost and sub.domain.com)

ProxyPassReverse / http://appname:8090/

</VirtualHost>

когда я сделаю это, я получу

[предупреждение] модуль proxy_module уже загружен, пропускаю

[предупреждение] модуль proxy_http_module уже загружен, пропускаем

[ошибка] (EAI 2) Имя или служба неизвестны: не удалось разрешить имя хоста sub.domain.com - игнорируется!

и да, приложение работает (у меня оно работает на порту 80 с другим поддоменом), и оно работает на sub.domain.com:8090

[ошибка] (EAI 2) Имя или служба неизвестны: не удалось разрешить имя хоста sub.domain.com - игнорируется!

Это говорит о том, что он не может решить sub.domain.com на IP-адрес. Вам необходимо настроить сервер, чтобы это было возможно. Как вы это сделаете, зависит от того, как настроен DNS-преобразователь.

Первые две строки в ваших журналах

[warn] module proxy_module is already loaded, skippin

[warn] module proxy_http_module is already loaded, skipping

говорит, что эти 2 модуля уже загружены. Итак, вы можете удалить строки LoadModule, которые вы написали в посте.

Для третьей строки ошибки

[error] (EAI 2)Name or service not known: Could not resolve host name sub.domain.com -- ignoring!

могут быть разные причины того же, возможно, ваш DNS-сервер не настроен должным образом, но для быстрого исправления вы можете поместить запись в файл / etc / hosts с таким содержимым

ip_address sub.domain.com

Ip_address следует заменить на IP-адрес, на котором работает nginx. Это может быть 127.0.0.1 или другой IP.

Хотя это не лучшее решение, но оно должно решить вашу проблему.

Если это все еще не помогает, было бы здорово, если бы вы могли опубликовать здесь вывод следующей команды после ее запуска на сервере, на котором вы запускаете apache.

host sub.domain.com