Фон:Моя компания размещает два экземпляра сервера для нашей внутренней веб-системной панели управления: сервер разработки и производственный сервер. Для дополнительной безопасности на производственном сервере мы обычно отключаем порт 80 и используем другой порт для доступа к веб-серверу. Однако срок действия наших SSL-сертификатов скоро истекает, поэтому я попытался повторно включить порт 80 (для выполнения проверки http-01). Мне удалось включить и обновить сертификат на нашей машине разработки, но не удалось сделать то же самое на производственной машине.
Проблема:Я не могу подключиться к веб-серверу Apache, размещенному на машине Ubuntu 20.04.1. Я изучил множество ресурсов и похожих вопросов, но безрезультатно. Я проверил, что Apache ports.conf
и 000-default.conf
прослушивает порт 80. Я также временно установил конфигурации ufw
/ iptables
, чтобы разрешить все входящие запросы в попытке исключить брандмауэр. В настоящее время, если я запускаю curl http://production.example.com
, он возвращает «Соединение отклонено». Исходя из этого, похоже, что я подключаюсь к машине, но что-то блокирует его.Помимо UFW или iptables, есть ли какая-либо служба, которая может блокировать соединения с портом 80?Дайте мне знать, если потребуется дополнительная информация! Спасибо заранее!
Конфигурации/Тесты
Команда 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
Настройки 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)
Апачи ports.conf
и000-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>
Команды для проверки открытости порта 80:
$ 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
Похожие вопросы
- Соединение отклонено после обновления Apache
- https://superuser.com/questions/1187495/apache-2-4-reachable-but-refusing-the-connection
--Обновлять--
Согласно комментариям, я выполнил команду, описанную вэтот вопрос, но я не уверен, как интерпретировать результаты:
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