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