J'ai installé nginx à l'aide de ports et l'ai démarré avec sudo. L'accès à la page d'accueil nginx à partir de localhost fonctionne parfaitement, mais y accéder à partir d'un ordinateur externe échoue.
Faire un nmap sur l'ordinateur de l'extérieur révèle
80/tcp filtered http
Il est donc clair que le pare-feu mac bloque le port. Je procède ensuite à l'ajout de l'exécutable nginx à la liste d'exceptions du pare-feu, mais le nmap apparaît toujours comme le port 80 filtré et je ne parviens pas à accéder à la page Web. Le binaire exact qui est dans la liste est / opt / local / sbin / nginx qui à ma connaissance semble correct
Des idées sur ce que je dois faire? Merci!
PS La désactivation du pare-feu me permet d'accéder au site Web depuis le monde extérieur, mais ce n'est pas une solution idéale.
sudo lsof -i:80
pour vous assurer que c'est vraiment nginx qui fait l'écoute (et que il écoute sur toutes les IP, pas seulement 127.0.0.1).Réponses:
Cela a fonctionné pour moi (OSX 10.9):
Lorsque vous essayez de le faire via un lien symbolique (pour éviter de refaire ce processus lorsque nginx est mis à niveau), vous obtenez l'erreur suivante: L'application ne fait pas partie du pare-feu après l'exécution:
la source
J'essaie de comprendre cela depuis des siècles, finalement en procédant comme suit dans le terminal:
Et cela a semblé résoudre le problème.
J'ai également fait glisser l'application nginx dans la liste des applications approuvées sur le pare-feu OS X.
la source
nginx
pour que le site Web commence réellement à se charger.J'ai rencontré ce même problème. Je soupçonne que cela a à voir avec le modèle de processus maître / travailleur de nginx confondant la mise en œuvre du pare-feu d'Apple.
La solution que j'ai trouvée est de dire à appfirewall d'autoriser le processus nginx:
Je ne me souviens pas si cela persiste à travers les redémarrages ou non. Si ce n'est pas le cas, créez une liste de lancement dans / Library / LaunchAgents pour le faire au démarrage, si vous le souhaitez.
la source
-t
option.changez votre $ PATH
laissez le système trouver le nginx en
/usr/local/Cellar/nginx/nginx-xx/bin/nginx
premierla source
Je suis sur El Capitan (10.11.6). Vous pouvez exclure manuellement
nginx
du pare-feu à l'aide de l'interface graphique. Cela l'a résolu pour moi.Tout d'abord, allez dans les Préférences Système. Accédez ensuite à Sécurité et confidentialité, puis cliquez sur l'onglet Pare-feu.
Cliquez sur le bouton «Options du pare-feu» et ajoutez-les en
nginx
tant qu'application exclue ici:Nginx était localisé
/usr/local/Cellar/nginx/1.10.3/bin/nginx
pour moi. Je ne pouvais pas y accéder dans l'explorateur de fichiers dans les Préférences Système, donc pour le contourner, j'ai créé un raccourcinginx
sur mon bureau et l'ai sélectionné.la source