Как получить доступ к приложению Angular, созданному на CentOS7, в виртуальной машине Windows 10?

Вопрос или проблема

Я создал приложение Angular в CentOs7 и смог открыть его в веб-браузере в моей виртуальной машине CentOs7, используя http://localhost:4200/. Мне нужно иметь возможность получить к нему доступ из моей виртуальной машины Windows 10, но когда я попробовал изменить IP, оно все еще работало в Cent, но выдавало ошибку, говоря, что порт 4200 уже используется. Это не работает в Windows с любым из адресов. Как мне настроить это так, чтобы оно было доступно в моей виртуальной машине Windows?

Чтобы получить доступ к приложению Angular, размещенному на сервере CentOS 7, из виртуальной машины Windows 10 (VM), вы можете следовать этим шагам:

1. Убедитесь, что приложение Angular запущено
Запустите сервер разработки Angular, используя:

ng serve –host 0.0.0.0 –port 4200
Флаг –host 0.0.0.0 позволяет доступ с внешних машин.
Флаг –port 4200 указывает порт, на котором работает приложение (по умолчанию 4200).
Проверьте, что приложение запущено на CentOS, обратившись к http://localhost:4200 непосредственно на машине CentOS.

  1. Проверьте правила фаервола CentOS
    Убедитесь, что фаервол CentOS позволяет входящий трафик на порт приложения Angular (по умолчанию 4200). Используйте следующие команды:

Проверьте текущие правила фаервола:
sudo firewall-cmd –list-all
Добавьте порт 4200 в фаервол:

sudo firewall-cmd –permanent –add-port=4200/tcp
sudo firewall-cmd –reload

  1. Найдите IP-адрес CentOS
    Определите IP-адрес сервера CentOS, используя:
    ip addr
    Ищите IP в поле inet в активном сетевом интерфейсе (например, eth0 или ens33).

  2. Обеспечьте сетевую подключенность
    Убедитесь, что машины CentOS и Windows находятся в одной сети (физической или виртуальной).
    Если они находятся в виртуальной сети, настройте сетевые параметры VM:
    Режим моста: позволяет VM использовать сетевой адаптер хоста для внешнего доступа.
    NAT/Переадресация портов: перенаправьте порт приложения CentOS (4200) на машину Windows.

  3. Получите доступ к приложению Angular с Windows
    Откройте браузер на виртуальной машине Windows 10.
    Введите URL-адрес, используя IP и порт сервера CentOS, например:

http://:4200
Замените на фактический IP-адрес из Шага 3.
6. Советы по устранению неполадок
Тест ping: Проверьте подключение между Windows и CentOS, используя ping из командной строки Windows.
Логи фаервола: Проверьте логи фаервола CentOS на наличие заблокированных запросов, если вы сталкиваетесь с проблемами.
Консоль браузера: Проверьте инструменты разработчика браузера на наличие сетевых ошибок.
Сборка Angular: Если приложение используется в производственной среде, соберите приложение и запустите его с помощью сервера статических файлов (например, Nginx или Apache):

ng build –prod
Этот подход должен обеспечить беспрепятственный доступ к приложению Angular, размещенному на CentOS 7, из вашей виртуальной машины Windows 10.

Ответ или решение

Для доступа к приложению Angular, развернутому на сервере CentOS 7, из виртуальной машины Windows 10, требуется выполнить ряд конфигураций на обеих платформах. Ниже приведены детализированные шаги для достижения этой цели.

Теория: Для обеспечения доступности веб-приложения, запущенного на одном сервере, с других устройств в той же сети, необходимо убедиться, что приложение настроено на прослушивание запросов не только с localhost, но и с доступных IP-адресов хоста. Также необходимо проверить сетевую конфигурацию и настройки безопасности, такие как брандмауэр и сетевые интерфейсы.

Пример:

  1. Запуск Angular приложения на CentOS 7

    • Используйте команду ng serve --host 0.0.0.0 --port 4200 чтобы запустить сервер разработки Angular. Оно позволит принимать запросы с любых внешних адресов благодаря использованию --host 0.0.0.0.
    • Проверьте, что приложение успешно работает на CentOS, открыв в браузере URL http://localhost:4200.
  2. Настройка правил брандмауэра CentOS

    • Убедитесь, что брандмауэр CentOS позволяет входящий трафик на порт 4200. Выполните следующие команды:
      sudo firewall-cmd --permanent --add-port=4200/tcp
      sudo firewall-cmd --reload
  3. Определение IP-адреса CentOS

    • Используйте команду ip addr для получения информации об IP-адресе вашего CentOS сервера. Найдите адрес в поле inet активного сетевого интерфейса (например, eth0 или ens33).
  4. Проверка сетевой подключаемости

    • Убедитесь, что машины CentOS и Windows находятся в одной сети. Если вы используете виртуальную сеть, настройте параметры сети виртуальной машины:
      • Режим моста (Bridged Mode): Позволяет VM использовать сетевой адаптер хоста для доступа к внешним сетям.
      • NAT/Протоколирование портов (Port Forwarding): Перенаправьте порт 4200 приложения на машину Windows.
  5. Доступ к приложению из Windows

    • Откройте браузер в Windows 10 VM.
    • Введите URL, включающий IP-адрес сервера CentOS и порт: http://<IP-адрес>:4200.

Применение:

  • Запустите тестирование соединения, используя команду ping <IP-адрес> из командной строки Windows, чтобы проверить доступность CentOS.
  • Просмотрите логи брандмауэра CentOS на предмет заблокированных запросов, если возникают проблемы.
  • Используйте инструменты разработчика браузера для проверки ошибок сети.

Данный подход позволит вам успешно получить доступ к Angular приложению на CentOS 7 из вашей Windows 10 VM, минимизируя потенциальные проблемы конфигурации сети и безопасности.

Оцените материал
Добавить комментарий

Капча загружается...