J'ai en cours d'exécution nginx serveur (peu importe quel serveur):
$ Sudo netstat -tulpn | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4268/nginx
tcp6 0 0 :::80 :::* LISTEN 4268/nginx
Et puis j'ai envoyé une demande au 127.0.0.1
$ curl -v 127.0.0.1
* Rebuilt URL to: 127.0.0.1/
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* connect to 127.0.0.1 port 80 failed: Connection refused
* Failed to connect to 127.0.0.1 port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused
$ telnet localhost 80
Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused
Très bien dans / etc/hosts:
127.0.1.1 ubuntu-work
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
iptables désactivé $ Sudo iptables -L
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Il est intéressant que je puisse me connecter à n'importe quelle adresse 127. . . * Sauf 127.0.0.1 (localhost). Et aussi je peux me connecter avec mon adresse IP de sous-réseau 10.0.2.15. Et si je change le port 80 en un autre dans la configuration du serveur (par exemple Listen 88) cela fonctionne.
J'ai essayé $ Sudo nmap -sS 127.0.0.1 -p 80
et a obtenu des informations - 80/tcp fermé, mais comment est-il possible si vous exécutez le serveur nginx sur le port 80?
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00011s latency).
PORT STATE SERVICE
80/tcp closed http
Nmap done: 1 IP address (1 Host up) scanned in 1.12 seconds
l'interface de bouclage est active:$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:86:5f:e3
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe86:5fe3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:588 errors:0 dropped:0 overruns:0 frame:0
TX packets:616 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:262986 (262.9 KB) TX bytes:103011 (103.0 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:276 errors:0 dropped:0 overruns:0 frame:0
TX packets:276 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:32750 (32.7 KB) TX bytes:32750 (32.7 KB)
Autres tables iptables
Sortie de $ Sudo iptables -t nat -nvL
:
Chain PREROUTING (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 20558
Chain INPUT (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1043 packets, 65731 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:443 redir ports 20558
Chain POSTROUTING (policy ACCEPT 1043 packets, 65731 bytes)
pkts bytes target prot opt in out source destination
Je n'ai reçu aucune sortie de Sudo iptables -t mangle -nVL
, seule version: iptables v1.4.21
Sortie de Sudo iptables -t mangle -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
S'il vous plaît, aidez-moi si vous avez des idées sur ce qui bloque localhost: 80.
Rien ne bloque le port 80. Vous avez juste un pare-feu NAT règles qui redirigent les connexions vers ce port vers d'autres ports, qui ne sont pas ouverts.
Chain PREROUTING (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 20558
Chain OUTPUT (policy ACCEPT 1043 packets, 65731 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:443 redir ports 20558
Supprimez ces règles pour résoudre le problème.