Я запускаю простой HTTP-сервер django (используя python manage.py runserver
). В настоящее время он работает на порту 8000.
Как открыть порт на моем MacBook и разрешить сетевому трафику проходить на мой хост через порт 8000?
решение1
Системные настройки > Безопасность и конфиденциальность > Брандмауэр > Дополнительно.
Добавьте новую запись с помощью +
. Поскольку вы запускаете исполняемый файл, вы можете выполнить поиск python
или добавить запись, используя порт через командную строку и ipfw
.
Более подробная информация здесь:https://serverfault.com/a/105736/3914
решение2
python manage.py runserver
Вышеуказанная команда разрешит доступ только локальному хосту. Если вы хотите разрешить доступ другим сетевым устройствам, вы должны обслуживать 0.0.0.0
:
python manage.py runserver 0.0.0.0:8000
Для тех, кто работает из PyCharm, вы устанавливаетеХозяинполе 0.0.0.0
вЗапустить конфигурацию.
После того, как я это сделал, у меня появилось всплывающее окно брандмауэра OS X с вопросом:Хотите ли вы, чтобы приложение «Python.app» принимало входящие сетевые подключения?.
Затем вы можете получить доступ через mac-name.local:8000
или через IP-адрес Mac.
Кстати, я использую Python 3.4, собранный и установленный MacPorts на OS X El Capitan 10.11.2.