Как пробросить порты с wsl в windows 10?

Всем привет. Извеняюсь, может не корректно задаю вопрос. Постараюсь описать проблему не задуривая голову.
Я web-develop и я разрабатываю в OS Windows 10(т.е. код + компиляция + просмотр в браузере). Мой сайт находится по аддресу 127.0.0.1:3000 + апи тоже находится по этому же адресу. Возникла задача изменить 127.0.0.1:3000 на 127.0.0.1.
Я установил nginx в винде настроил конфиг proxy - все работает отлично. Но сам nginx в windows реализован плохо. тяжело с ним взаимодействовать (писать команды только из папки где он установлен). В таск менеджере бываеют клоны nginx процессов.

Я решил попробовать wsl. nginx там стал отлично и корректно работает. но 127.0.0.1:3000 на 127.0.0.1 я не смог изменить. Я так понимаю из за проброски портов? в винде при запуске 127.0.0.1 - 502 ошибка. Т.е. получается nginx работает.

Дополнительно:

1. loopback ip адрес 127.0.0.1 в WSL и Windows - это разные сущности.
2. У WSL есть ограничения в виде невозможности работы с другим vswitch от Hyper-V, только со своим.
Перенесите ваш nginx в виртуальную машину Hyper-V или в контейнер Docker Desktop.

Ответы:

Вообще на локальную систему из wsl порты пробросить можно, делается это так, пример с 80 портом:

Важно, чтобы пробрасываемые порты на самой системе не были заняты.

  • А как из локальной системы на wsl прокинуть маршруты? после подключения к vpn из windows в wsl адреса не резолвятся, не пингуются

Но сам nginx в windows реализован плохо. тяжело с ним взаимодействовать (писать команды только из папки где он установлен)

добавить эту папку в PATH, не?

 

Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

 

    • Как пробросить порты с wsl в windows 10?Есть ответ
    • 07.04.2024
    Ответить

    Для проброса портов с WSL (Windows Subsystem for Linux) в Windows 10 вам потребуется выполнить несколько шагов. Ниже приведены инструкции по настройке проброса портов для различных типов сетей.

    1. **Проверьте, что WSL установлен и работает**: Убедитесь, что WSL установлен на вашем компьютере и работает корректно. Для этого запустите командную строку и введите wsl. Если вы видите приглашение для ввода команд в Linux-среде, значит WSL работает.

    2. **Определите IP-адрес WSL**: В командной строке введите ip addr show eth0. Вы увидите информацию об IP-адресе вашего WSL. Обычно это будет адрес вида 172.X.X.X.

    3. **Проброс портов для локальной сети**:
    - Откройте файл настроек WSL, который находится по пути C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\etc\ssh\sshd_config в блокноте или любом другом текстовом редакторе.
    - Раскомментируйте строку #Port 22 и замените 22 на нужный вам порт, например, 2222.
    - Добавьте следующую строку в конец файла: GatewayPorts yes.
    - Сохраните файл и перезапустите службу SSH в WSL, введя команду sudo service ssh --full-restart.

    4. **Проброс портов для удаленного доступа**:
    - Откройте файл настроек SSH на Windows, который находится по пути C:\ProgramData\ssh\sshd_config.
    - Добавьте следующие строки в конец файла:

    Match Address 0.0.0.0/0
    GatewayPorts yes

    - Перезапустите службу SSH на Windows, введя команду Restart-Service sshd.

    5. **Проверьте настройки брандмауэра**: Убедитесь, что порт, который вы пробрасываете, разрешен в настройках брандмауэра Windows.

    Теперь вы должны иметь возможность подключаться к порту WSL извне. Например, если вы пробросили порт 2222, вы можете подключиться к WSL из командной строки Windows, используя команду ssh username@172.X.X.X -p 2222.

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

Оставить комментарий