n1ro°
RU

Текст и данные · Инструкция

WSL localhostForwarding: как работает доступ через localhost

WSL localhostForwarding: как работает доступ через localhost.

Редакция N1RO · Проверено

Короткий ответ

В WSL 2 параметр localhostForwarding по умолчанию включен и позволяет Windows обращаться к сервисам внутри WSL через localhost. В mirrored networking этот параметр игнорируется, потому что схема сети другая.

Что именно делает localhostForwarding

Microsoft описывает localhostForwarding как возможность сделать порты WSL 2, привязанные к localhost или wildcard, доступными с Windows-хоста через localhost. В обычном NAT-режиме это упрощает локальную разработку: сервер на порту 3000 в Linux обычно открывается в Windows как http://localhost:3000. В mirrored networking настройка localhostForwarding не применяется; двусторонний localhost обеспечивается сетевой архитектурой mirrored mode. В случае «WSL localhostForwarding: как работает доступ через localhost» сначала зафиксируйте текущую версию WSL и рабочую конфигурацию, затем применяйте документированный шаг и проверяйте его эффект. В сценарии «WSL localhostForwarding: как работает доступ через localhost» откат должен быть понятен до выполнения команды, особенно если действие останавливает VM, меняет сеть, ядро или файловую систему.

Совет: `localhostForwarding` относится к WSL 2 и задается глобально в `%UserProfile%\.wslconfig`.

Пошаговое решение

  1. Проверьте текущий режим сети WSL и убедитесь, что сервер внутри Linux действительно запущен и слушает нужный порт.
  2. Из Windows откройте localhost с тем же портом, например http://localhost:3000.
  3. Если соединения нет, внутри WSL проверьте адрес привязки сервиса командой ss или аналогом и исключите ситуацию, когда приложение слушает только неожиданный интерфейс.
  4. Откройте %UserProfile%\.wslconfig и проверьте localhostForwarding только если используете NAT-режим WSL 2.
  5. После изменения .wslconfig выполните wsl --shutdown и запустите дистрибутив снова, чтобы новая конфигурация применилась.

Предупреждение: После изменения `.wslconfig` выполните `wsl --shutdown`, иначе старая WSL 2 VM может продолжать работать с прежними параметрами.

Проверка на одном изменении

Контроль для «WSL localhostForwarding: как работает доступ через localhost»: подтвердите «сервис запущен», затем выполните первый шаг — проверьте текущий режим сети WSL и убедитесь, что сервер внутри Linux действительно запущен и слушает нужный порт.

Чек-лист перед выводом

  • Сервис запущен
  • Порт правильный
  • Режим сети известен
  • После изменения был полный shutdown WSL

Когда нужен следующий шаг

Доступ Windows→WSL через localhost не означает автоматическую доступность того же сервиса с других устройств локальной сети. Если используется mirrored mode, ищите причину не в localhostForwarding, а в привязке сервиса и правилах сети/брандмауэра.

Важно: Доступ с Windows через localhost не равен публикации сервиса для других устройств локальной сети.

Где искать ограничение

  • сервис запущен. Проверка «сервис запущен» подтверждает исходное состояние перед изменением WSL.
  • порт правильный. Пункт «порт правильный» локализует проблему и не дает менять несколько причин одновременно.
  • режим сети известен. Условие «режим сети известен» позволяет проверить команду или настройку на конкретном уровне.
  • после изменения был полный shutdown WSL. Если выполнено «после изменения был полный shutdown wsl», следующий шаг можно оценивать без догадок о предыдущем.

Что учитывать

[object Object],[object Object],[object Object],[object Object]

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Advanced settings configuration in WSL). Пример и формулировки — редакция N1RO на 2026-09-22.