1

Добрый день.
Неожиданно возникла следующая проблема. Есть два ПК, на обоих установлена ОС Linux (дистрибутив не имеет значения) При открытии веб-сайта с одного ПК, все открывается отлично, при открытии со второго, у первого виснет страница, и при обновлении, после тайм-аута выдается сообщение о недоступности сайта. tcpdump`ом видно, что пакеты с первого ПК прилетают на сервер, но Apache на них не отечает, в логи апача (var/log/http), или системные логи (/var/log/secure, /var/log/messages) никаких данных не падает. Отключение фаерволла никаких изменений не принесло. Также если у этих устройств поменять сетевые адреса, ничего не меняется, тот у которого открывалось и раньше - все также работает, тот, у которого не открывалось - нет.

При этом через 60 секунд у первого (которого висло открытие), все начинает работать, но ровно до момента пока второй не обновит страницу

Если повторить туже процедуру на двух ПК с ОС Windows, проблем нет, оба ПК работают нормально.

Подскажите, пожалуйста, если кто-то сталкивался, в чем может быть проблема, или хотя бы в какую сторону копать

2

jeka0506 пишет:

дистрибутив не имеет значения

Имеет. Файлы конфигурации могут различаться в разных дистрибутивах, в том числе и быть расположены по другим адресам. Так что укажите дистрибутив. И дайте результат вывода:

 Консоль: root
[root@linuxforum.ru ~]# service apache2 status

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

3 (05.03.2019 13:54:24 отредактировано jeka0506)

Rizado пишет:
jeka0506 пишет:

дистрибутив не имеет значения

Имеет. Файлы конфигурации могут различаться в разных дистрибутивах, в том числе и быть расположены по другим адресам. Так что укажите дистрибутив. И дайте результат вывода:

 Консоль: root
[root@linuxforum.ru ~]# service apache2 status

 Консоль:
[root@ ~]# service apache2 status
apache2: unrecognized service
[root@ ~]# service httpd status
httpd (pid  16371) is running..

Пробовали на нескольких дистрибутивах, в том числе с андроид мобилок
в частности, Linux Mint, Ubuntu, Android 8 (его в принципе тоже можно в какой-то мере считать линукс терминалом)

Я наверное, некорректо обхяснил. ПК с Линуксом в данном случае используются как терминалы, клиентские машины. В качестве сервера используется сервак на CentOS6.
Т.е. проблема в том, что когда два юзера открывают сайт, работая за ПК с Линукс (вышеуказанные дистрибутивы тестировались), то у первого ПК виснет сайт и не получают ответа запросы к веб-серверу. Когда этиже два юзера с тех же ПК, но с установленной на них виндой подключаются к серверу - все работает отлично

4

jeka0506, я о чём и говорю, что дистрибутив имеет значение. Даже названия демона разные, у меня это как раз Apache2.
Вообще, при условии отправки на сервер корректного запроса серверу вообще всё равно, с чего вы к нему подключаетесь, хоть с деревянных счётов ab . Я в своё время эксперимента ради ставил useragent «ZX-Spectrum» и «MK-52», даже в таком варианте сайты отображались корректно.
Вы уверены, что проблема в сервере? Выкладывайте конфиги Apache, посмотрим. Только используйте BB-коды «код» и «спойлер» ab .

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

5

Rizado пишет:

jeka0506, я о чём и говорю, что дистрибутив имеет значение. Даже названия демона разные, у меня это как раз Apache2.
Вообще, при условии отправки на сервер корректного запроса серверу вообще всё равно, с чего вы к нему подключаетесь, хоть с деревянных счётов ab . Я в своё время эксперимента ради ставил useragent «ZX-Spectrum» и «MK-52», даже в таком варианте сайты отображались корректно.
Вы уверены, что проблема в сервере? Выкладывайте конфиги Apache, посмотрим. Только используйте BB-коды «код» и «спойлер» ab .

Ну да, я понимаю, что страницу открывает браузер, а не ОСь ab собственно, потому и оказался в тупике

Что-то конфиг апача загрузить не дает, выдает ошибку о том, что много ссылок, хотя я даже все ServerName позаменял с example.com на example com

6

jeka0506,

 Консоль: root
[root@linuxforum.ru ~]# service https status

И смотри́те, что не так. Выложите лог на pastebin и дайте ссылку.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

7 (05.03.2019 15:19:24 отредактировано jeka0506)

Rizado пишет:

jeka0506,

 Консоль: root
[root@linuxforum.ru ~]# service https status

И смотри́те, что не так. Выложите лог на pastebin и дайте ссылку.

Вот ссыль на конфиг апача:

https://pastebin.com/EWBiBx1L

а в логе, как я писал выше ничего нет, при удачном коннекте (первого или второго ПК, не важно), в логах стандартные ответы 200 и отдаваемые страницы, а когда у первого ПК коннект пропадает, то сервис не отвечает даже на пакеты и ни в какие логи никаких данных не падает

8

jeka0506, а вот это с какой непонятной целью делалось?

ServerName default
DocumentRoot /var/www/html/default
DocumentRoot /var/www/html
ServerName server.com

При этом оба виртуальных хоста активны?

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

9

Rizado пишет:

jeka0506, а вот это с какой непонятной целью делалось?

ServerName default
DocumentRoot /var/www/html/default
DocumentRoot /var/www/html
ServerName server.com

При этом оба виртуальных хоста активны?

Это сделано для безопасности, как заглушки, чтобы по ip адресу на сервер не зашли, а только по домену

10

jeka0506, вы не поняли. У вас один виртуальный хост в подкаталоге второго. Смысл этого действия?
Доступнее. Представьте, что вы делаете два сайта, например о котятах (_kittens.site) и о вампирах (_vampires.site). И у вас сайт о вампирах будет открываться не только по его прямому адресу, но и по адресу _kittens.site/default/. Вот зачем так делать?

P.S. Подчёркивание в начале адресов сделал, чтобы форум не превращал в ссылки.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

11 (05.03.2019 18:12:30 отредактировано jeka0506)

а, Вы о директориях, для ВХостов default и server.com они лежат в разных директориях, просто для безопасности я изменил пути перед отправкой конфига в интернет ab
Что-то вроде такого
Для default - /var/www/html
Для server.com - /opt/project/html/

12

jeka0506 пишет:

чтобы по ip адресу на сервер не зашли, а только по домену

для этого modrewrite существует.
Да и в чём здесь безопасность то?

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

13

DiabloPC пишет:
jeka0506 пишет:

чтобы по ip адресу на сервер не зашли, а только по домену

для этого modrewrite существует

Спасибо, учту на будущее

14

jeka0506 пишет:

просто для безопасности я изменил пути перед отправкой конфига в интернет

Ну тогда вам в общество телепатов. Никто не обязан угадывать, что вы выложили не рабочий файл, а изменённый.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

15 (05.03.2019 18:26:52 отредактировано jeka0506)

Rizado пишет:
jeka0506 пишет:

просто для безопасности я изменил пути перед отправкой конфига в интернет

Ну тогда вам в общество телепатов. Никто не обязан угадывать, что вы выложили не рабочий файл, а изменённый.


Я там изменил только доменное имя и поудалял комментарии из стандартного конфиг-файла httpd.conf

https://pastebin.com/08SqqQxw

вот тот же конфиг, но с корректными путями к директориям с файлами.

Из измененного только доменное имя сервера и названия сертификатов для https. Я не могу указать название домена, с названием организации, но, не думаю, что проблема в доменном имени ab

16

jeka0506,Таки стоит вот так сделать:

+ открыть спойлер

 Консоль:
cat httpd.conf.diff
--- httpd.conf.old      2019-03-05 17:57:16.238858285 +0200
+++ httpd.conf  2019-03-05 17:58:25.775776734 +0200
@@ -293,33 +293,6 @@
NameVirtualHost *:80
NameVirtualHost *:443

-
-<VirtualHost *:80>
-   ServerName default
-   DocumentRoot /var/www/html/default
-   ErrorLog /var/log/httpd/default-error.log
-   CustomLog /var/log/httpd/default-access_log common
- <Directory /var/www/html/default>
-    Order allow,deny
-    Allow from all
- </Directory>
-</VirtualHost>
-
-<VirtualHost *:443>
-       ServerName default
-       DocumentRoot /var/www/html/default
-       ErrorLog /var/log/httpd/default-error.log
-       CustomLog /var/log/httpd/default-access_log common
-       SSLEngine on
-    SSLCertificateFile /etc/ssl/certs/example.crt
-    SSLCertificateKeyFile /etc/ssl/private/example.key
- <Directory /var/www/html/default>
-    Order allow,deny
-    Allow from all
- </Directory>
-</VirtualHost>
-
-

<VirtualHost *:80>
     ServerAdmin mail@mail.ru
     DocumentRoot /opt/osdial/html

Ибо вообще непонятно как при наличии двух разных конфигов на один vhost оно запускает httpd, а не вываливается с ошибкой.

Сейчас по сути там вот такое написано:

 Консоль:
<VirtualHost *:80>
    Иди налево
</VirtualHost>

<VirtualHost *:80>
    Иди напрво
</VirtualHost>


Ну и как это должно работать??

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

17

DiabloPC пишет:

Сейчас по сути там вот такое написано:

 Консоль:
<VirtualHost *:80>
    Иди налево
</VirtualHost>

<VirtualHost *:80>
    Иди напрво
</VirtualHost>


Ну и как это должно работать??

Понял, попробую убрать лишний ВХост, спасибо. По результату напишу

18

jeka0506 пишет:

лишний ВХост

Два лишних: один *:80, второй *:443

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

19

DiabloPC пишет:

Два лишних: один *:80, второй *:443

Да там, похоже, http и https пытается одновременно. А не проще редирект?

<VirtualHost *:80>
    …
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.domain.ru [OR]
    RewriteCond %{SERVER_NAME} =domain.ru
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

20

Rizado, думаю не критично, в любом случае если адресс обращения был http:// то запрос на :80 прилетит, а если https:// - на :443,
А вот то что в конфиге одни и те-же запросы в разные стороны адрусуются - ото интересно))
*** Добавлено: 5th Mar 2019 6:23:09 pm ***

Rizado пишет:

<VirtualHost *:80>
    …
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.domain.ru [OR]
    RewriteCond %{SERVER_NAME} =domain.ru
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Так сразу уже

RewriteRule ^ https://domain.com/%{REQUEST_URI} [END,NE,R=permanent]

Заодно любые запросы по  IP будут адресоваться на domain.com

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

21

DiabloPC, я к тому, что если нужен именно https, то http лучше принудительно перенаправлять. А то найдутся же пользователи.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

22 (05.03.2019 21:07:01 отредактировано jeka0506)

Нет, после удаления этих двух ВХостов, ситуация не изменилась вообще

При этом, если я подключаюсь со второго терминала к порту 443, то у первого пропадает коннект и к 80 порту и к 443
*** Добавлено: 05.03.2019 21:27:50 ***

Если это имеет значение, то апач вот такой версии

[root@ ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Nov 19 2013 22:59:03

Пишу это т.к., в Вашем варианте перенаправления на 443 порт выдает ошибку

RewriteRule: unknown flag 'END'

23

jeka0506 пишет:

RewriteRule: unknown flag 'END'

Ну так уберите его ab .

jeka0506 пишет:

Server version: Apache/2.2.15 (Unix)

 Консоль:
root@rizado:~# apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-10-10T18:59:25
root@rizado:~#

У меня версия новее, а правила для редиректа ставило приложение certbot.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD, DDR4 32 GB, SSD 500GB + HDD 2TB | Linux Mint 21.3 Cinnamon + Fedora 39 MATE (Compiz) + Windows 11 + macOS 12 Monterey

24

Rizado пишет:
jeka0506 пишет:

RewriteRule: unknown flag 'END'

Ну так уберите его ab .

Не, я убрал, просто я это к тому, что в зависимости от версии, может какие-то настройки могут давать этот эффект.

25

jeka0506 пишет:

в зависимости от версии

jeka0506 пишет:

Apache/2.2.15

Ой-вэй! Ему же завтра 9 лет исполняется. То что конфиги и близко не такие как в актуальной версии - само собой.


Rizado пишет:

Apache/2.4.29

Фиии! Старьё!  ag

 Консоль:
[ root@diablopc.ddns.net /home/diablopc ] # httpd -v
Server version: Apache/2.4.38 (Linux/SUSE)
Server built:   2019-02-27 14:16:50.000000000 +0000

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

26 (06.03.2019 11:35:41 отредактировано jeka0506)

DiabloPC пишет:

Ой-вэй! Ему же завтра 9 лет исполняется. То что конфиги и близко не такие как в актуальной версии - само собой.

Ну да,подизносился, старичок ab
Но это все равно никак не объясняет, почему именно линуксовые терминалы (за одним НАТом) не могут одновременно получать доступ к веб-порту
*** Добавлено: 06.03.2019 11:18:55 ***

Я в конкретно этих опциях мало что понимаю, но думаю, что может тут кроется проблема, вот пакеты с TCP dump`a

Linux

client_host.port > server_host.443: Flags [S], cksum 0x8dfc (correct), seq 1406559724, win 65535, options [mss 1440,sackOK,TS val 17543584 ecr 0,nop,wscale 8], length 0

Windows

client_host.port > server_host.443: Flags [S], cksum 0x953e (correct), seq 954078068, win 64240, options [mss 1440,nop,wscale 8,nop,nop,sackOK], length 0

Как видно, в opitions при Линуксе имеем параметр "TS val 17543584 ecr 0". Насколько я понял, это временная метка TCP пакета. Вы не подскажете, почему при работе с терминалов на Windows её нет, а при работе с Линукса - есть ? И может ли её наличие давать такой эффект, что при работе с винды все в порядке, а при работе с линукса - возникают вышеуказанные проблемы ?

вот даже описание схожей проблемы
https://www.linux.org.ru/forum/admin/7683015
*** Добавлено: 13.03.2019 12:47:59 ***

Коллеги, подскажите, есть какие-то мысли, с чем может быть связана проблема ?

*** Добавлено: 13.03.2019 15:45:40 ***

Короче говоря, если кому-то будет интересно, проблема решилась установкой на front-end - Nginx, на back-end остался Apache, и все стало работать как часы