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

Настройте веб-сервер VirtualBox для просмотра IP-адреса посетителей

Наконец-то мне удалось переместить свой сервер на виртуальную машину VirtualBox.

ВМ работает в режиме NAT. Я перенаправил необходимые порты, включая порт 80, который я сначала отправил с помощью iptables, на порт 8888, а затем перенаправил через VirtualBox на порт 80 в гостевой ОС.

-A PREROUTING -i p10p1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8888

Все отлично работает! За исключением ... Я не вижу IP-адреса посетителей веб-сайта из PHP $ _SERVER ['REMOTE_ADDR']. Я вижу только 1 IP-адрес, который, я полагаю, является адресом NAT хоста.

Как мне настроить мою систему (ОС хоста и VirtualBox), чтобы иметь возможность запускать веб-сервер и видеть IP-адреса посетителей?

Мой хост напрямую подключен к Интернету через 1 фиксированный IP-адрес. Получение другого IP-адреса для гостевого подключения по мосту не вариант (это уже довольно дорогое подключение к Интернету).

Пожалуйста, попробуйте решение, которое я нашел на форуме виртуальных боксов, у меня оно работает !!!

Это возможно без режима моста! По какой-то странной причине режим NAT по умолчанию в VirtualBox перезаписывает исходный код.

Вы хотите переключить NAT в прозрачный режим с помощью

VBoxManage modifyvm <your-vm name> --nataliasmode1 proxyonly

более подробную информацию можно найти здесь:

https://forums.virtualbox.org/viewtopic.php?f=7&t=43500#p260181

Используя NAT, вы не можете передать IP-адрес посетителя на веб-сервер. Все подключения к веб-серверу будут осуществляться с хоста, на котором запущен Virtual Box.

Для этого вам потребуется в операционной системе хоста, в которой работает VirtualBox, настроить экземпляр HAproxy или nginx, чтобы добавить настраиваемый HTTP-заголовок с реальным исходным IP-адресом посетителя для каждого HTTP-запроса.

Затем этот заголовок анализируется на внутреннем веб-сервере и используется для журналов доступа / ошибок и статистики веб-сервера.

Если вашим внутренним веб-сервером является Apache, вам понадобится следующий модуль, чтобы иметь возможность анализировать настраиваемый HTTP-заголовок. http://stderr.net/apache/rpaf/