Fundo:Minha empresa hospeda duas instâncias de servidor para nosso painel interno de sistemas baseados na Web: um servidor de desenvolvimento e um servidor de produção. Para maior segurança no servidor de produção, normalmente desabilitamos a porta 80 e usamos uma porta diferente para acessar o servidor web. No entanto, nossos certificados SSL expirarão em breve, então tentei reativar a porta 80 (para realizar a verificação do desafio http-01). Consegui habilitar e renovar o certificado em nossa máquina de desenvolvimento, mas não consigo fazer o mesmo na máquina de produção.
Problema:Não consigo me conectar ao servidor Apache hospedado em uma máquina Ubuntu 20.04.1. Explorei vários recursos e questões semelhantes sem sucesso. Verifiquei que o Apache ports.conf
e o 000-default.conf
estão escutando na porta 80. Também defini temporariamente as configurações ufw
/ iptables
para permitir todas as solicitações recebidas em uma tentativa de descartar o firewall. Atualmente, se eu executar curl http://production.example.com
, ele retornará uma "Conexão recusada". Com base nisso, parece que estou me conectando à máquina, mas algo está bloqueando.Além do UFW ou do iptables, existe algum serviço que possa estar bloqueando as conexões com a porta 80?Deixe-me saber se mais alguma informação será necessária! Desde já, obrigado!
Configurações/Testes
comando curl:
$ curl -v http://production.example.com
* Trying xxx.xxx.xx.xx:80...
* TCP_NODELAY set
* connect to xxx.xxx.xx.xx port 80 failed: Connection refused
* Failed to connect to production.example.com port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to production.example.com port 80: Connection refused
Configurações do UFW:
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: allow (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
443/tcp ALLOW IN Anywhere
443/tcp (v6) ALLOW IN Anywhere (v6)
Apache ports.conf
e000-default.conf
Listen 80
<VirtualHost *:80>
ServerName production.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Comandos para verificar se a porta 80 está aberta:
$ sudo lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 706 root 4u IPv6 20604 0t0 TCP *:http (LISTEN)
apache2 752 www-data 4u IPv6 20604 0t0 TCP *:http (LISTEN)
apache2 759 www-data 4u IPv6 20604 0t0 TCP *:http (LISTEN)
apache2 764 www-data 4u IPv6 20604 0t0 TCP *:http (LISTEN)
apache2 767 www-data 4u IPv6 20604 0t0 TCP *:http (LISTEN)
apache2 774 www-data 4u IPv6 20604 0t0 TCP *:http (LISTEN)
$ netstat -a | grep http | grep LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
Perguntas semelhantes
- Conexão recusada após atualização do Apache
- https://superuser.com/questions/1187495/apache-2-4-reachable-but-refusing-the-connection
--Atualizar--
De acordo com os comentários, executei o comando descrito emessa questão, mas não tenho certeza de como interpretar os resultados:
sudo tcpdump -n host 138.197.97.12 and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
17:31:56.921857 IP 47.33.203.205.59520 > 138.197.97.12.80: Flags [S], seq 1979773428, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 362696691 ecr 0,sackOK,eol], length 0
17:31:57.936229 IP 47.33.203.205.59520 > 138.197.97.12.80: Flags [S], seq 1979773428, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 362697692 ecr 0,sackOK,eol], length 0
17:32:08.748828 IP 35.190.73.167.80 > 138.197.97.12.4957: Flags [S.], seq 3923531534, ack 2621902277, win 65535, options [mss 1430,sackOK,TS val 2683344831 ecr 873100626,nop,wscale 8], length 0
17:32:16.798047 IP 47.33.203.205.59520 > 138.197.97.12.80: Flags [S], seq 1979773428, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 362715694 ecr 0,sackOK,eol], length 0