Доступ к веб-серверу nginx на виртуальной машине CentOS7, размещенной на Virtualbox в Windows 10

Доступ к веб-серверу nginx на виртуальной машине CentOS7, размещенной на Virtualbox в Windows 10

Настраивать:

Одна виртуальная машина CentOS 7.1, работающая на сервере Windows 10 Pro (предварительная версия 10074) внутри Virtualbox 5 beta 4 (также протестирована на 4.3.8). Используется nginx/1.9.0 для обслуживания статических HTML-файлов.

Виртуальная машина подключена к моей интрасети с помощью настройки NAT в Virtualbox. Я перенаправил порты 22, 80 и 443 с сервера на виртуальную машину, используя стандартные настройки Virtualbox.

Проблема:

В виртуальной машине я могу использовать curl для извлечения любой страницы ( curl localhostвозвращая ожидаемый результат). Однако, если я попытаюсь извлечь страницу с хост-сервера Windows или любого другого клиента интрасети — по IP или локальному хосту на хосте, я получу ошибки «невозможно подключиться» или «сброс подключения».

Используя netstat на виртуальной машине, я убедился, что nginx прослушивает порты 80 и 443 как на 0.0.0.0, так и на [::]. Я также проверил на сервере Windows, что порты 80 и 443 не используются, когда виртуальная машина не работает, и прослушиваются, когда она работает.

Проверяя журналы, созданные nginx, я обнаружил, что access.log содержит только мои curl-запросы, а в error.log ничего соответствующего не отображается.

Однако я также запускаю sshd на сервере (на порту 22) и могу подключиться к нему с любой машины в моей интрасети (и извне, если я перенаправляю порты на своем интернет-маршрутизаторе), поэтому я не думаю, что это проблема брандмауэра.

Попытки решения:

Я пробовал и открыть брандмауэр Windows, чтобы разрешить входящие соединения на порты 80/443, и добавить Virtualbox в исключения программы. Я также пробовал полностью отключить брандмауэр.

Я пробовал перейти на порты > 1000 на хост-сервере, но поскольку порт 22, похоже, работает нормально, это не имеет особого смысла.

К сожалению, я не могу изменить тип подключения виртуальной машины с NAT на любой другой. Virtualbox пока не поддерживает мостовое соединение адаптеров в Windows 10 (я пробовал несколько переустановок и новую бета-версию).

решение1

Мне нужно было использовать firewall-cmdдля разрешения http и https трафика через брандмауэр виртуальной машины. Более старые версии CentOS использовали бы iptables.

Связанный контент