Django недоступен с другого компьютера

следуя инструкциям здесь, я создал свой первый веб-сервер django. Я еще не делал никакой серьезной настройки, за исключением.

Setup settings.py:

ALLOWED_HOSTS = ['192.168.1.111', 'localhost', '127.0.0.1']

Запуск django из cmd prompt

python manage.py runserver 0.0.0.0:8080

Все три url ссылки работают на локальной машине, где установлен django: http://127.0.0.1:8080/, http://localhost:8080/, http://192.168.1.111:8080/

Затем я перешел к настройкам брандмауэра Windows Firewall и включил 8080 в качестве входящего правила: enter image description here

Моя проблема в том, что http://192.168.1.111:8080/ при доступе с другого компьютера (в той же сети, IP 192.168.1.77) выдает исключение. Ошибка звучит так: "Сайт не может быть доступен, потребовалось слишком много времени для ответа".

Я не могу понять, что я делаю неправильно. Я уверен, что это проблема брандмауэра. Отключил брандмауэр windows на 192.168.1.111 и он заработал с 192.168.1.77. Вопрос остается открытым - как мне заставить его работать с включенным брандмауэром на 192.168.1.111. Моя версия python - 3.9, а версия django - 3.2. К вашему сведению - я перешел на 8080 просто ради интереса. У меня была та же проблема с 8000.

Два момента, на которые стоит обратить внимание:

(1) 192.168.1.111:8080 выдает предупреждение "Не безопасное соединение" на основной машине (где установлен django)

enter image description here

(2) netstat тоже кажется в порядке:

C:\Windows\system32>netstat -ab

Active Connections

  .
  .
 [postgres.exe]
  TCP    0.0.0.0:7680           DEVSERVER:0            LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:8080           DEVSERVER:0            LISTENING
 [python3.9.exe]
  TCP    0.0.0.0:49664          DEVSERVER:0            LISTENING
  .
  .
 Can not obtain ownership information
  TCP    192.168.1.111:8080     DEVSERVER:50515        ESTABLISHED
 [python3.9.exe]
  TCP    192.168.1.111:49800    52.226.139.121:https   ESTABLISHED
 [SearchApp.exe]
  TCP    192.168.1.111:50502    52.182.141.63:https    TIME_WAIT
  TCP    192.168.1.111:50515    DEVSERVER:8080         ESTABLISHED
  .
  .
C:\Windows\system32>

192.168.1.111:8080 просто не работает ни с одного компьютера в сети. Пробовал с 192.168.1.77 (windows/chrome) и 192.168.1.75 (windows/firefox)

OK... Итак, это была проблема с брандмауэром. Очевидно, было еще одно исходящее правило с python.exe, которое было override=True и блокировало Public или Private UDP или TCP. Я даже не помню. Я просто удалил все TCP-правила, относящиеся к python, и оставил только одно (отмеченное в моем вопросе выше). Теперь все работает

Вернуться на верх