Я установил nginx с помощью портов и запустил его с помощью sudo. Доступ к странице приветствия nginx из localhost работает отлично, однако получить доступ к нему с внешнего компьютера не удается.
Выполнение Nmap на компьютере снаружи показывает,
80/tcp filtered http
Очевидно, что брандмауэр Mac блокирует порт. Затем я продолжаю добавлять исполняемый файл nginx в список исключений брандмауэра, однако nmap по-прежнему отображается как фильтруемый порт 80, и я не могу получить доступ к веб-странице. Точный двоичный файл, который находится в списке, является / opt / local / sbin / nginx, который, насколько мне известно, кажется правильным
Есть идеи, что мне делать? Благодаря!
PS Отключение брандмауэра позволяет мне получить доступ к веб-сайту из внешнего мира, однако это не идеальное решение.
sudo lsof -i:80
чтобы убедиться, что это действительно nginx, выполняющий прослушивание (и это он прослушивает все IP-адреса, а не только 127.0.0.1).Ответы:
Это сработало для меня (OSX 10.9):
При попытке сделать это через symlink (чтобы избежать повторения этого процесса при обновлении nginx), получилась следующая ошибка: Приложение не является частью брандмауэра после запуска:
источник
Попытки выяснить это целую вечность, в конечном итоге сделать в терминале следующее:
И это, казалось, решило проблему.
Я также перетащил приложение nginx в список утвержденных приложений на брандмауэре OS X.
источник
nginx
сайт, чтобы фактически начать загрузку.Я столкнулся с этой же проблемой. Я подозреваю, что это связано с моделью основного / рабочего процесса nginx, которая вводит в заблуждение реализацию appfirewall от Apple.
Решение, которое я нашел, - сказать appfirewall разрешить процессу nginx:
Я не помню, сохраняется ли это после перезагрузок или нет. Если это не так, создайте список запуска в / Library / LaunchAgents, чтобы сделать это при загрузке, если хотите.
источник
-t
опцию.измените свой $ PATH
пусть система поиска Nginx в
/usr/local/Cellar/nginx/nginx-xx/bin/nginx
первую очередьисточник
Я на Эль Капитане (10.11.6). Вы можете вручную исключить
nginx
из брандмауэра, используя графический интерфейс. Это решило это для меня.Сначала зайдите в Системные настройки. Затем перейдите в раздел «Безопасность и конфиденциальность» и перейдите на вкладку «Брандмауэр».
Нажмите кнопку «Параметры брандмауэра» и добавьте
nginx
в список исключенных приложений:Nginx был
/usr/local/Cellar/nginx/1.10.3/bin/nginx
для меня. Я не мог перейти к этому в проводнике файлов в Системных настройках, поэтому, чтобы обойти это, я сделал ярлыкnginx
на рабочем столе и выбрал его.источник