Bitrix. Исправляем ошибку «Работа с сокетами - Ошибка! Не работает»

Веб-программирование 27 февраля 2016 г., 3:27

Во время тестирования сайта, выскакивает следующая ошибка:

Работа с сокетами (check_socket): Fail


А в журнале мы видим следующий лог:

2016-Feb-27 13:41:10 Работа с сокетами (check_socket): Fail
Connection to site.ru:80  Success
== Request ==
GET /bitrix/admin/site_checker.php?test_type=socket_test&unique_id=83f81a8666278b68e58012ce161a1dd0 HTTP/1.1
Host:  site.ru


== Response ==
HTTP/1.1 404 Not Found
Server: nginx/1.4.6 (Ubuntu)
Date: Sat, 27 Feb 2016 12:41:10 GMT
Content-Type: text/html
Content-Length: 177
Connection: keep-alive

== Body ==
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>

==========

Для начала мы видим в этом логе, что при запросе система получает 404 ошибку. Нам нужно понять почему она происходит. Для этого нам нужно проверить логи веб-сервера. Так как у меня работает на nginx + apache2, я открыл логи nginx (Linux /var/log/nginx/error.log).

В данном логе я ищу мой запрос

2016/02/27 13:41:10 [error] 2309#0: *658 openat() "/usr/share/nginx/html/bitrix/admin/site_checker.php" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /bitrix/admin/site_checker.php?test_type=socket_test&unique_id=83f81a8666278b68e58012ce161a1dd0 HTTP/1.1", host: "site.ru"

И что мы тут видим? Когда скрипт обращается сам к себе, то происходит обращение вообще не понятно по какому адресу «/usr/share/nginx/html/bitrix/admin/site_checker.php», тогда как сайт лежит: /var/www/site.ru/www/bitrix/admin/site_checker.php

Так же обратите внимание по какому адресу обращается скрипт:

client: 127.0.0.1, server: localhost, 

Из этого мы делаем вывод что site.ru привязан к localhost и при обращении сайта к самому себе пытается найти файлы не в папке сайта, а в папке nginx по умолчанию. Открыв фаил /etc/hosts я увидел следующую запись:

127.0.0.1 localhost.localdomain localhost site.ru

Изменив эту строчку на

127.0.0.1 localhost.localdomain localhost

я успешно прошел тест, и ошибка больше не возникала!

Теги: 0


Станьте первым!

Пожалуйста, авторизуйтесь или зарегистрируйтесь для комментирования!

Яндекс.Метрика