Saya menginstal nginx menggunakan port dan memulainya dengan sudo. Mengakses halaman selamat datang nginx dari localhost berfungsi dengan baik, namun mengaksesnya dari komputer eksternal gagal.
Melakukan nmap di komputer dari luar akan terbuka
80/tcp filtered http
Jadi jelas firewall mac memblokir port. Saya kemudian melanjutkan untuk menambahkan nginx yang dapat dieksekusi ke daftar pengecualian firewall, namun nmap masih muncul sebagai port 80 yang sedang difilter dan saya tidak dapat mengakses halaman web. Biner persis yang ada di daftar adalah / opt / local / sbin / nginx yang menurut pengetahuan saya tampaknya benar
Ada ide apa yang harus saya lakukan? Terima kasih!
PS Mematikan firewall tidak memungkinkan saya untuk mengakses situs web dari dunia luar, namun itu bukan solusi yang ideal.
sudo lsof -i:80
untuk memastikan itu benar-benar nginx melakukan mendengarkan (dan itu itu mendengarkan pada semua IP, bukan hanya 127.0.0.1).Jawaban:
Ini bekerja untuk saya (OSX 10.9):
Ketika mencoba melakukannya melalui symlink (untuk menghindari mengulangi proses ini ketika nginx ditingkatkan), dapatkan kesalahan berikut: Aplikasi ini bukan bagian dari firewall setelah dijalankan:
sumber
Sudah mencoba mencari tahu ini sejak lama, akhirnya melakukan hal berikut di terminal:
Dan itu sepertinya memperbaiki masalah.
Saya juga menyeret aplikasi nginx ke daftar aplikasi yang disetujui pada OS X firewall.
sumber
nginx
agar situs web benar-benar mulai memuat.Saya mengalami masalah yang sama. Saya menduga itu ada hubungannya dengan model proses master / pekerja nginx membingungkan implementasi appfirewall Apple.
Solusi yang saya temukan adalah memberi tahu appfirewall untuk mengizinkan proses nginx:
Saya tidak ingat apakah ini berlanjut di seluruh reboot atau tidak. Jika tidak, buat daftar peluncuran di / Library / LaunchAgents untuk melakukan ini saat boot, jika Anda mau.
sumber
-t
opsi.ubah $ PATH Anda
biarkan sistem menemukan nginx di
/usr/local/Cellar/nginx/nginx-xx/bin/nginx
pertamasumber
Saya sedang di El Capitan (10.11.6). Anda dapat secara manual mengecualikan
nginx
dari firewall menggunakan GUI. Ini menyelesaikannya untuk saya.Pertama, buka System Preferences. Lalu pergi ke Keamanan & Privasi, dan klik tab Firewall.
Klik tombol 'Opsi Firewall' dan tambahkan
nginx
sebagai aplikasi yang dikecualikan di sini:Nginx cocok
/usr/local/Cellar/nginx/1.10.3/bin/nginx
untuk saya. Saya tidak bisa menavigasi ke ini di file explorer di System Preferences, jadi untuk menyiasatinya saya membuat jalan pintas kenginx
desktop saya dan memilih itu.sumber