Zainstalowałem nginx przy użyciu portów i uruchomiłem go z sudo. Dostęp do strony powitalnej nginx z localhost działa idealnie, jednak dostęp do niej z komputera zewnętrznego nie powiedzie się.
Wykonywanie nmap na komputerze z zewnątrz ujawnia
80/tcp filtered http
Tak wyraźnie zapora Mac blokuje port. Następnie przystępuję do dodania pliku wykonywalnego nginx do listy wyjątków zapory, jednak nmap nadal pokazuje się jako filtrujący port 80 i nie mogę uzyskać dostępu do strony internetowej. Dokładny plik binarny znajdujący się na liście to / opt / local / sbin / nginx, który według mojej wiedzy wydaje się poprawny
Jakieś pomysły, co powinienem zrobić? Dzięki!
PS Wyłączenie zapory ogniowej pozwala mi uzyskać dostęp do strony internetowej z zewnątrz, jednak nie jest to idealne rozwiązanie.
sudo lsof -i:80
aby upewnić się, że to naprawdę Nginx słucha (i to nasłuchuje na wszystkich adresach IP, nie tylko 127.0.0.1).Odpowiedzi:
To zadziałało dla mnie (OSX 10.9):
Podczas próby zrobienia tego za pomocą dowiązania symbolicznego (aby uniknąć ponownego wykonania tego procesu po uaktualnieniu nginx), wystąpił następujący błąd: Aplikacja nie jest częścią zapory po uruchomieniu:
źródło
Próbowałem to rozgryźć od wieków, ostatecznie wykonując następujące czynności w terminalu:
I wydawało się, że to rozwiązało problem.
Przeciągnąłem również aplikację nginx na listę zatwierdzonych aplikacji w zaporze OS X.
źródło
nginx
aby strona faktycznie zaczęła się ładować.Natrafiłem na ten sam problem. Podejrzewam, że ma to związek z modelem procesu nadrzędnego / roboczego nginx mylącym implementację zapory ogniowej Apple.
Rozwiązaniem, które znalazłem, jest powiedzenie appfirewall, aby zezwoliło na proces nginx:
Nie pamiętam, czy to się utrzymuje po ponownym uruchomieniu komputera, czy nie. Jeśli tak się nie stanie, utwórz listę uruchamiania w / Library / LaunchAgents, aby to zrobić podczas rozruchu, jeśli chcesz.
źródło
-t
opcję.zmień swoją $ PATH
niech System znaleźć nginx w
/usr/local/Cellar/nginx/nginx-xx/bin/nginx
pierwszej kolejnościźródło
Jestem na El Capitan (10.11.6). Możesz ręcznie wykluczyć
nginx
z zapory za pomocą GUI. To rozwiązało dla mnie.Najpierw przejdź do Preferencji systemowych. Następnie przejdź do Bezpieczeństwo i prywatność i kliknij kartę Zapora.
Kliknij przycisk „Opcje zapory” i dodaj tutaj
nginx
jako wykluczoną aplikację:Nginx został
/usr/local/Cellar/nginx/1.10.3/bin/nginx
dla mnie zlokalizowany . Nie mogłem przejść do tego w eksploratorze plików w Preferencjach systemowych, więc aby to obejść, zrobiłem skrót donginx
pulpitu i wybrałem to.źródło