На чтение 3 мин Просмотров 13к. Опубликовано
Заказать настройку интеграции 1с с ГИИС ДМДК
Настройка рабочего места
Для настройки интеграции 1с с сервисом ГИИС ДМДК, потребуется:
1. Скачать программу с официального сайта КриптоПро для создания TLS-туннеля stunnel.x86/64. Символы 86/64 обозначают разрядность вашей операционной системы, т.е. она или 32 битная или 64 битная.Как узнать разрядность читайте в этой статье.
Обратите внимание, stunnel.x86 — будет работать и на 32 битной и на 64 битной ОС. stunnel.x64 — только на 64 битных системах.
2. Создайте папку на диске C:\ под названием stunnel и скопируйте туда скачанный файл stunnel.x86.exe или stunnel.x64.exe.
3. Запустите командную строку от имени администратора и перейдите в каталог stunnel, выполнив команду cd c:\stunnel.
4. Введите команду установки службы туннеля: c:\stunnel\stunnel.x64 -install для 64 биных ОС, или c:\stunnel\stunnel.x86 -install для 32 битных систем.
5. В каталоге c:\windows\system32 создайте или скачайте и скопируйте файл конфигурации stunnel.conf с содержимым:
output=c:\stunnel\stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
debug=7
[https]
client=yes
accept=127.0.0.1:1500
connect=195.209.130.9:443
cert=c:\stunnel\clicer.cer
verify=0
Вместо порта 1500, можно использовать любой другой свободный порт. В параметре connect — указывается IP адрес интеграционного сервиса, где:
- 195.209.130.9 — для промышленного контура;
- 195.209.130.19 — для тестового контура.
6. Скачать и установить сертификаты Удостоверяющего центра для тестового контура:
- Скачать: http://testca2012.cryptopro.ru/cert/rootca.cer и установить корневой сертификат тестового Удостоверяющего центра в хранилище «Доверенные корневые центры сертификации»;
-
хранилище «Доверенные корневые центры сертификации»;
7. Создайте нового пользователя Windows.
8. В сеансе нового пользователя установите (пользовательский) сертификат, выпущенный на информационную систему Участника, в хранилище «Личное».
9. Откройте КриптоПро CSP, выберите вкладку «Сервис», нажмите кнопку «Протестировать», далее кнопку «По сертификату» и выберите личный сертификат. В открывшемся окне введите текущий пароль, обязательно поставив галочку «Сохранить пароль в системе» и нажмите «OK».
10. Откройте диспетчер сертификатов, выполнив команду certmgr.msc. Найдите и откройте личный сертификат, выберите вкладку «Состав», и нажмите кнопку «Копировать в файл». В открывшемся Мастере экспорта, необходимо экспортировать сертификат без закрытого ключа в формате Х.509 (.CER) в кодировке DER и сохранить его с именем clicer.cer в каталоге c:\stunnel.
11. Откройте Службы, выполнив команду services.msc. Выберите службу Stunnel Service и установите для неё тип запуска «Автоматически», на вкладке вход в систему с учетной записью созданного пользователя и запустите службу.
На этом настройка завершена, что бы проверить настройку интеграционного сервиса, перейдите в браузере по адресу: 127.0.0.1:1500 и если все настроено правильно, появится логотип ГИИС ДМДК.
Администратор
«Админы делятся на тех, кто не делает бэкапы, и тех, кто уже делает». Народная мудрость.
|
ГИИС ДМДК — тестовый контур работает или как всегда? | ☑ | ||
---|---|---|---|---|
0
Тихий омут 23.06.22 ✎ 07:36 |
Не могу понять, где глюки — у меня или в тестовом контуре:) SendBatch для ввода остатков агрегированной партии отрабатывает нормально, CheckBatch возвращает Внутренняя ошибка сервера ГИИС ДМДК уже третьи сутки подряд. Есть возможность у кого-нибудь проверить Send/CheckBatch для ввода остатков в тестовом контуре? |
|||
1
asady 23.06.22 ✎ 09:46 |
(0) у нас не работает тестовый контур — уже недели 2 — забили — пробуем на основном |
|||
2
Тихий омут 23.06.22 ✎ 09:59 |
Спасибо. Что интересно, вручную в ЛК регистрация АП работает, по полученному в ЛК ИНП пул УИН уже через интеграцию получаю успешно… Что ж за глюк то… |
Основная теорема систематики: Новые системы плодят новые проблемы.
Вы присвоили ИНП на агрегированную партию и далее пытаетесь получить УИН на изделия, но получаете от ГИИС ДМДК ошибку как на рисунке.
запрос chekGetBatchUIN завершился с ошибкой
код состояния 500
Причина: высокая загрузка серверов ГИИС ДМДК
Рекомендация: перейти на присвоение УИН сразу изделиям. И в дальнейшем списать остатки по ИНП Агрегированной партии.
Подробнее рассказано в видео.
Обработка для формирования во вложении:
Cкачать обработку
dubinin.nik |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 2 раз |
Прошу помощи! Настраиваю интеграцию с ГИИС ДМДК! Сделал все как по инструкции по «ОПИСАНИЕ ИНТЕГРАЦИОННОГО СЕРВИСА». В конфиг файле Цитата: output=c:\stunnel\stunnel.log Настроил как сервис от нового пользователя, все пароли сохранил — все супер. После танцев с бубном сервис стартует автоматом и работает. В лог все пишется. А вот дальше начинается самое интересное. Все общение с туннелем заканчивается на уровне хендшейка и дальше тишина.. Вот пример лог файла: Цитата: 2022.01.27 11:08:37 LOG5[21404:7348]: stunnel 4.18 on x86-pc-unknown При попытке протестировать согласно документации через SoapUI — при создании нового проекта выдается ошибка Цитата: Error loading [http://127.0.0.1:1500/ws/v1/exchange.wsdl]: java.lang.Exception: Failed to load url; http://127.0.0.1:1500/ws/v1/exchange.wsdl, 0 При попытке запустить тестирование интеграции через 1С Розница — Ювелирный магазин от 1С Рарус — Интеграция с ГИИС ДМДК — при нажатии Проверить подключение — 1С зависает. Помогите господа разработчики! Отредактировано пользователем 27 января 2022 г. 12:37:37(UTC) |
|
|
two_oceans |
|
Статус: Эксперт Группы: Участники Сказал(а) «Спасибо»: 110 раз |
Добрый день. Если совсем в идеале также слушать на портах 80 и 443 (если они у Вас свободны и соединение одно), но для wsdl скорее всего не понадобится до такого доходить. Дело в том, что сейчас очень много ГИС, которые через один внешний ip предоставляют доступ к разным внутренним ресурсам. Для выбора ресурса используется строка Host из http запроса, а иногда также и порт. Когда Вы в браузере (SoapUI, 1С) указываете 127.0.0.1 это значение идет в строку Host из http запроса и шлюзовой сервер на той стороне оказывается в ступоре куда Вы хотите подключиться. |
|
|
1 пользователь поблагодарил two_oceans за этот пост. |
dubinin.nik
оставлено 17.05.2022(UTC) |
al1111 |
|
Статус: Новичок Группы: Участники
|
Подскажите пожалуйста аналогичная проблемма вот только у нас в сертификате output=c:\stunnel\stunnel.log Как быть? |
|
|
two_oceans |
|
Статус: Эксперт Группы: Участники Сказал(а) «Спасибо»: 110 раз |
Автор: al1111 Подскажите пожалуйста аналогичная проблемма вот только у нас в сертификате Как быть? Что-то вы вообще странное творите: прочитайте еще раз внимательнее. Цитата: Полное доменное имя (если неизвестно) можно взять из сертификата сервера. 1) Зачем Вы ориентируетесь на свой сертификат клиента с CN = ООО»Рога копыта». Каким он боком относится к серверу? Аналогия — шли по улице, сертификат лежит и думаете «а не вписать ли его в конфиг»? Если точнее, то имеется ввиду сертификат удаленного сервера, к которому соединяетесь stunnel ом, то есть сервера, указанного в строке connect. Имя не обязательно в CN, может быть в Альтернативных именах владельца. Вот только в конфиге в строке connect написан IP адрес, а вам нужно найти имя этого сервера. Это можно сделать либо через DNS командой типа nslookup 19.130.209.195.in-addr.arpa (цифры из IP в обратном порядке) либо посмотрев сертификат, который при коннекте на 195.209.130.19:443 предоставляет сервер. В DNS ГИС частенько ничего не регистрируют (первая команда дает non-existent domain), потому проще смотреть сертификат. Сохранить сертификат удаленного сервера можно утилитой csptest в командной строке Код:
Здесь уже учтено: адрес сервера, адрес wsdl, wsdl не сохраняется, указан сертификат клиента, выводятся подробные данные, не проверяется цепочка сертификатов клиента и сервера, сертификат сервера сохраняется в файл d:\195_209_130_19.p7b. Цепочка сервера не проверяется, потому что, как оказалось, он выдан тестовым сервером КриптоПро, а добавлять тестовый УЦ в доверенные не очень разумно. Имя оказалось типа *.goznak.ru, то есть желательно вместо звездочки еще что-то подобрать. Для примера я возьму стандартное www, но возможно больше подойдет dmdk. Перед этим стоит еще 20211217 и пробел — такое имя проверку не пройдет. хотя возможно такой ответ на мой сертификат, а Вам ответит сервер что-то более квалифицированное. 2) 127.0.0.1 dacha-ПК тоже не вариант, удаленный сервер не знает про такое имя. Код:
в hosts Код:
в 1с/browser/soapui тестируете адрес Код:
WSDL у меня браузер получил, значит имя www.goznak.ru допустимо, но дальше нежданчик в WSDL: Код:
То есть для корректной работы soapui stunnel должен слушать на 80 порту, а не на 1500. Отредактировано пользователем 10 февраля 2022 г. 8:23:53(UTC) |
|
|
basid |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 6 раз |
Автор: two_oceans Вот только в конфиге в строке connect написан IP адрес, а вам нужно найти имя этого сервера. В системе разрешения доменных имён прямая и обратная зоны — две разные зоны. P.S. |
|
|
two_oceans |
|
Статус: Эксперт Группы: Участники Сказал(а) «Спасибо»: 110 раз |
Автор: basid В системе разрешения доменных имён прямая и обратная зоны — две разные зоны. Соглашусь частично, что разные и связи нет. Однако все же мне кажется не обошлось без бииип местных провайдеров (забивающих фейковые имена типа 1.2.3.xsdl.my-super-provider.ru) и сисадминов ведомств, (которым нормально купить домен, но ненормально зарегистрировать его PTR в обратных зонах dns провайдера). Автор: basid P.S. nslookup достаточно «интеллектуален», чтобы вернуть имя по IP-адресу. Вот это Вы мне точно америку открыли. Почему-то пока я вручную не сменю тип запроса на PTR он мне возвращает тоже что я написал (8.8.8.8.in-addr.arpa) даже хотя запись есть. Сменю — покажет dns.google. Так что укажите, пожалуйста, ОС на которой он отрастил-таки интеллект. |
|
|
basid |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 6 раз |
Код:
Windows 7. Как оно было на NT4 и Windows 2000 — уже не помню, но на XP/2003 — работало точно также. |
|
|
basid |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 6 раз |
Автор: two_oceans Однако все же мне кажется не обошлось без бииип местных провайдеров (забивающих фейковые имена типа 1.2.3.xsdl.my-super-provider.ru) Это никакие не фейки. |
|
|
dubinin.nik |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 2 раз |
Автор: two_oceans Добрый день. Если совсем в идеале также слушать на портах 80 и 443 (если они у Вас свободны и соединение одно), но для wsdl скорее всего не понадобится до такого доходить. Дело в том, что сейчас очень много ГИС, которые через один внешний ip предоставляют доступ к разным внутренним ресурсам. Для выбора ресурса используется строка Host из http запроса, а иногда также и порт. Когда Вы в браузере (SoapUI, 1С) указываете 127.0.0.1 это значение идет в строку Host из http запроса и шлюзовой сервер на той стороне оказывается в ступоре куда Вы хотите подключиться. в общем проблема у меня все таки не в адресах и хостсах. SoapUI как по айпи 127.0.0.1:1500 так и по доменному имени после прописания в хостс — ломится и выдает один и тот же лог. Проблема с сертификатом. Дело в том, что я уже даже сертификат новый в налоговой получил, установил в систему и экспортировал в clicer.cer И все равно ошибка одна и та же 022.05.17 11:26:21 LOG7[10208:17556]: https connecting до сих пор в ступоре |
|
|
dubinin.nik |
|
Статус: Новичок Группы: Участники Сказал(а) «Спасибо»: 2 раз |
Помогло решение описанное в посте https://www.cryptopro.ru…&m=133280#post133280 А именно, я сделал все по новому вот так: 1) Проверил, что служба STunnel запускается от имени системы. Тут важен шаг 2 и 3, т.к. как я понял при экспорте сертификата в нем указывается ссылка на конт. закр. ключа. |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Выбор операционной системы Windows
В качестве рабочего места используется персональный компьютер с операционной системой Microsoft Windows 7/8/10 или Astra Linux CE/SE. Далее описывается подготовка рабочего места на ПК с ОС Windows.
Установка браузера «Спутник» со встроенным СКЗИ «КриптоПро CSP»
Загрузите установочный файл браузера «Спутник» с официального сайта ООО «Крипто-Про». При загрузке требуется указать ФИО, адрес электронной почты и дать согласие на обработку персональных данных:
Запустите установочный файл браузера «Спутник» и подтвердите установку, отвечая «Да» на запросы программы установки. Установка всех компонентов будет выполнена в тихом режиме и завершится появлением ярлыка браузера на рабочем столе:
Для активации лицензии браузера «Спутник» запустите браузер, найдите в настройках раздел «О Спутнике». На странице «О Спутнике» нажмите «Загрузить ключ лицензии из файла», в открывшемся окне выберите файл ключа лицензии license.lic и перезапустите браузер.
Установка браузеров «Яндекс.Браузер» и «Chromium GOST»
Если вы уже установили браузер «Спутник», то следующие 2 пункта (установка СКЗИ КриптоПро CSP и установка КриптоПро ЭЦП Browser plug-in) пропустите.
Установка СКЗИ КриптоПро CSP
Для получения дистрибутива СКЗИ КриптоПро CSP необходимо зарегистрироваться на сайте КриптоПро.
После регистрация становится доступным раздел «КриптоПро CSP — Загрузка файлов» по ссылке. В данном разделе необходимо скачать подходящую версию КриптоПро CSP.
Если уже имеется действующая лицензия на СКЗИ КриптоПро, то скачайте последнюю сертифицированную версию, соответствующую имеющейся лицензии.
Если лицензия отсутствует, то рекомендуется скачать последнюю сертифицированную версию СКЗИ КриптоПро CSP 5.0:
Выполните установку СКЗИ КритоПро CSP, следуя инструкциям установщика. Какие-либо специальные настройки при установке не требуются. После установки СКЗИ КриптоПро CSP необходимо перезагрузить компьютер.
Если лицензия отсутствует, то СКЗИ КриптоПро CSP будет автоматически активировано временной лицензией сроком на 3 месяца, в течение этого времени необходимо приобрести лицензию.
Установка КриптоПро ЭЦП Browser plug-in
Дистрибутив КриптоПро ЭЦП Browser plug-in необходимо загрузить с сайта КриптоПро. На той же странице размещена ссылка на инструкцию по установке плагина и ссылка на сервис проверки работы плагина (проверка работы плагина выполняется после установки интернет-браузера с поддержкой шифрования по ГОСТ).
Установка Яндекс.Браузер
После установки интернет-браузера «Яндекс.Браузер» необходимо установить и включить дополнение «КриптоПро ЭЦП»:
1. Открыть в интернет-браузере «Яндекс.Браузер» ссылку (скопировать и вставить):
https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog?hl=ru
2.Нажать кнопку «Установить». Если на месте кнопки «Установить» располагается кнопка «Удалить из Chrome», то это значит, что дополнение было установлено ранее и установка не требуется, перейдите к шагу 3.
3.Включите дополнение.
4. В Яндекс.Браузер также необходимо включить опцию «Подключаться к сайтам, использующим шифрование по ГОСТ. Требуется Крипто.Про CSP.». Без включения этой опции при попытке входа в ГИИС ДМДК будет выдаваться ошибка «ERR_SSL_VERSION_OR_CIPHER_MISMATCH», так как по умолчанию браузер не работает с сертификатами, использующими шифрование по ГОСТ.
Установка Chromium GOST
Интернет-браузер «Chromium GOST» можно загрузить по ссылке. Если не знаете, какую версию выбрать, то выбирайте «chromium-gost-***-windows-386-installer.exe».
С дополнительной информацией по установке, настройке и работе с интернет-браузером «Chromium GOST» можно ознакомиться на сайте КриптоПро по ссылке.
После установки интернет-браузера «Chromium GOST» необходимо установить и включить дополнение «КриптоПро ЭЦП»:
1. Открыть в интернет-браузере «Chromium GOST» ссылку (скопировать и вставить):
https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog?hl=ru
2. Нажать кнопку «Установить». Если на месте кнопки «Установить» располагается кнопка «Удалить из Chrome», то это значит, что дополнение было установлено ранее и его установка не требуется, перейдите к шагу 3.
3. Включите дополнение.
4. Закрепите значок дополнения.
В случае, если защищённое соединение с порталом ГИИС ДМДК не устанавливается, необходимо включить протоколы TLS 1.1 и TLS 1.2 в Windows. Статья о включении указанных протоколов размещена на сайте Microsoft по ссылке (перевод на русский язык).
Также для включения протоколов TLS 1.1 и TLS 1.2 в Windows можно воспользоваться файлом реестра (.reg) следующего содержания:
Установка сертификатов
Скачайте корневой сертификат Минкомсвязи России по ссылке и установите в хранилище «Доверенные корневые центры сертификации».
Скачайте промежуточный сертификат АО «Аналитический Центр» по ссылке и установите в хранилище «Промежуточные центры сертификации».
Для установки сертификата пользователя подключите к компьютеру «токен», который был получен в удостоверяющем центре, найдите в меню «Пуск» каталог «КРИПТО-ПРО» и запустите «КриптоПро CSP».
В открывшемся окне перейдите на вкладку «Сервис» и нажмите кнопку «Просмотреть сертификаты в контейнере…».
В открывшемся окне нажать кнопку «Обзор».
В открывшемся окне выбрать контейнер закрытого ключа (в примере – «Activ Co. ruToken») и нажать кнопку «OK».
В открывшемся окне нажмите кнопку «Установить».
Если появится вопрос о замене существующего сертификата новым, нажмите «Да».
В результате должно появиться сообщение об успешной установке сертификата.
Проверка работы плагина «КриптоПро ЭЦП Browser plug-in»
После установки и настройки интернет-браузеров проверьте работу плагина «КриптоПро ЭЦП Browser plug-in» по ссылке или нажав на значок плагина, расположенный справа от адресной строки, и выбрав пункт «Проверить работу плагина».
В результате должна открыться страница, на которой будет указан результат загрузки плагина, а также будут отображены версия плагина и версия криптопровайдера.
Подготовка рабочего места (Astra Linux)
1.Загрузить сертифицированную версию «КриптоПро» CSP 5.0 (5.0.11455) для используемой процессорной архитектуры.
2.Разархивировать загруженный дистрибутив. Для этого необходимо открыть «Терминал Fly» («Пуск» — «Системные»), перейти в папку, в которую был сохранен дистрибутив «КриптоПро» CSP, и выполнить команду:
tar -xvf linux-*_deb.tgz
3.Запустить процесс установки «КриптоПро» CSP, выполнив команды:
cd linux-*_deb
sudo ./install_gui.sh
4.В процессе установки выбрать необходимые компоненты:
5.Загрузить и установить браузер Chromium GOST, последовательно выполнив команды из папки с дистрибутивом загруженного браузера
sudo apt install ca-certificates
sudo dpkg -i chromium-gost-87.0.4280.88-linux-amd64.deb
6.Загрузить сертифицированную версию «КриптоПро» ЭЦП Browser plug-in 2.0 (2.0.13642) для используемой процессорной архитектуры (требуется регистрация).
7.Разархивировать загруженный дистрибутив. Для этого необходимо открыть «Терминал Fly», перейти в папку, в которую был сохранен дистрибутив «КриптоПро» ЭЦП Browser plug-in 2.0 и выполнить команду:
tar -xvf cades_linux_*.tar.gz
8.Запустить процесс установки «КриптоПро» ЭЦП Browser plug-in 2.0, выполнив команды:
cd cades_linux_*/
sudo dpkg -i cprocsp-pki-cades_2.*.deb cprocsp-pki-plugin_2.*.deb
9.Установить сертификаты Удостоверяющего центра (далее – УЦ).
Скачать корневой сертификат Минкомсвязи России http://reestr-pki.ru/cdp/guc_gost12.crt и установить в хранилище Доверенные корневые центры сертификации.
Скачать промежуточный сертификат ЗАО «Национальный удостоверяющий центр» http://www.ncarf.ru/download/zaonucpak3.cer и установить в хранилище Промежуточные центры сертификации. Для установки сертификатов необходимо открыть «Терминал Fly», перейти в папку, в которую были сохранены сертификаты, и установить их, выполнив команды:
Для корневого сертификата:
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file *.cer
Для промежуточного сертификата УЦ:
/opt/cprocsp/bin/amd64/certmgr -inst -store uCA -file *.cer
При установке корневого сертификата необходимо подтвердить установку, нажав «O» при соответствующем запросе:
В случае успешной установки вывод каждой из команд должен заканчиваться [ErrorCode: 0x00000000].
Установку так же можно выполнить через графическую утилиту «Инструменты КриптоПро» («Пуск» – «Утилиты»). После ее запуска необходимо перейти на вкладку «Сертификаты», выбрать из списка «Доверенные корневые центры сертификации», нажать кнопку «Установить сертификаты» и выбрать корневой сертификат (Минкомсвязь России):
Повторить процедуру для промежуточного сертификата УЦ, при этом предварительно выбрав из списка «Промежуточные центры сертификации».
10. Установить личный (пользовательский) сертификат, полученный в УЦ. Также дополнительно потребуется установить сертификат Удостоверяющего центра, в котором был получен личный сертификат, если он не был установлен ранее (при установке пользоваться п. 9 настоящей инструкции и рекомендациями УЦ).
Для установки личного сертификата с токена выполнить следующую последовательность команд:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_containers -fqcn –verify
Вывод этой команды покажет доступные контейнеры с сертификатами, например:
\.Aktiv Rutoken lite 00 00pfx-042f55b5-3d80-6e4f-10c5-1eef51b34f75
Имя контейнера потребуется для выполнения следующей команды:
/opt/cprocsp/bin/amd64/certmgr -inst -cont ‘\.Aktiv Rutoken lite 00 00pfx-042f55b5-3d80-6e4f-10c5-1eef51b34f75’
В случае успешной установки сертификата вывод команды должен заканчиваться [ErrorCode: 0x00000000].
Установку так же можно выполнить через графическую утилиту «Инструменты КриптоПро» («Пуск» – «Утилиты»). После ее запуска необходимо перейти на вкладку «Контейнеры», выбрать из списка нужный контейнер и нажать кнопку «Установить сертификат».
Для ОС Astra Linux Special Edition дополнительно можно установить из репозитория браузер Chromium, открыв «Терминал Fly» и выполнив команду:
sudo apt install -y chromium*
Установку так же можно выполнить через графическую утилиту «Менеджер пакетов Synaptic» («Пуск» — «Панель управления» — «Программы»).
В статье мы расскажем, как исправить ошибку (код состояния) 500 со стороны пользователя и администратора сайта, а также подробно разберём, что такое ошибка запроса 500.
Что такое внутренняя ошибка сервера 500
Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.
Сообщение об ошибке сопровождается описанием. Самые популярные варианты:
- Внутренняя ошибка сервера 500,
- Ошибка 500 Internal Server Error,
- Временная ошибка (500),
- Внутренняя ошибка сервера,
- 500 ошибка сервера,
- Внутренняя ошибка HTTP 500,
- Произошла непредвиденная ошибка,
- Ошибка 500,
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на REG.RU:
Как ошибка 500 влияет на SEO-продвижение
Для продвижения сайта в поисковых системах используются поисковые роботы. Они сканируют страницы сайта, проверяя их доступность. Если страница работает корректно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым можно найти ресурс в поиске.
Когда поисковый робот сканирует страницу с ошибкой 500, он не изменяет её статус в течение суток. В течение этого времени администратор может исправить ошибку. Если робот перейдёт на страницу и снова столкнётся с ошибкой, он исключит эту страницу из поисковой выдачи.
Проверить, осталась ли страница на прежних позициях, можно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, её можно добавить снова.
Код ошибки 500: причины
Если сервер вернул ошибку 500, это могло случиться из-за настроек на web-хостинге или проблем с кодом сайта. Самые распространённые причины:
- ошибки в файле .htaccess,
- неподходящая версия PHP,
- некорректные права на файлы и каталоги,
- большое количество запущенных процессов,
- большие скрипты,
- несовместимые или устаревшие плагины.
Решить проблему с сервером можно только на стороне владельца веб-ресурса. Однако пользователь тоже может выполнить несколько действий, чтобы продолжить работу на сайте.
Что делать, если вы пользователь
Если на определённом ресурсе часто возникает ошибка 500, вы можете связаться с владельцем сайта по инструкции.
Перезагрузите страницу
Удаленный сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана небольшими перегрузками сайта.
Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:
- на ПК — F5,
- на ноутбуке — Fn + F5,
- на устройствах от Apple — Cmd + R.
Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.
Очистите кэш и cookies браузера
Кэш и cookies сохраняют данные посещаемых сайтов и данные аутентификаций, чтобы в будущем загружать веб-ресурсы быстрее. Если на ресурсе уже был статус ошибки 500, при повторном входе на сайт может загружаться старая версия страницы с ошибкой из кэша, хотя на самом деле страница уже работает. Очистить кэш и куки браузера вам поможет инструкция.
Если ни одно из этих действий не решило проблему, значит, некорректно работает сам сервер сайта. Вернитесь на страницу позже, как только владелец решит проблему.
Что делать, если вы владелец сайта
В большинстве случаев устранить проблему может только владелец сайта. Как правило, ошибка связана с проблемами в коде. Реже проблемы могут быть на физическом сервере хостинг-провайдера.
Ниже рассмотрим самые популярные причины и способы решения.
Ошибки в файле .htaccess
Неверные правила в файле .htaccess — частая причина возникновения ошибки. Чтобы это проверить, найдите .htaccess в файлах сайта и переименуйте его (например, в test). Так директивы, прописанные в файле, не повлияют на работу сервера. Если сайт заработал, переименуйте файл обратно в .htaccess и найдите ошибку в директивах. Если вы самостоятельно вносили изменения в .htaccess, закомментируйте новые строки и проверьте доступность сайта.Также может помочь замена текущего файла .htaccess на стандартный в зависимости от CMS.
Найти директиву с ошибкой можно с помощью онлайн-тестировщика. Введите содержимое .htaccess и ссылку на сайт, начиная с https://. Затем нажмите Test:
Произошла непредвиденная ошибка
На экране появится отчёт. Если в .htaccess есть ошибки, они будут выделены красным цветом:
500 ошибка nginx
Активирована устаревшая версия PHP
Устаревшие версии PHP не получают обновления безопасности, работают медленнее и могут вызывать проблемы с плагинами и скриптами. Возможно, для работы вашего веб-ресурса нужна более новая версия PHP. Попробуйте сменить версию PHP на другую по инструкции.
Установлены некорректные права на файлы и каталоги сайта
В большинстве случаев корректными правами для каталогов являются «755», для файлов — «644». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.
Запущено максимальное количество процессов
На тарифах виртуального хостинга REG.RU установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 18 одновременно запущенных процессов, на тарифах «+Мощность» ― 48 процессов. Если лимит превышен, новый процесс не запускается и возникает системная ошибка 500.
Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других процессов.
Чтобы проверить количество процессов, подключитесь по SSH. Выполните команду:
ps aux | grep [u]1234567 |wc -l
Вместо u1234567 укажите ваш логин хостинга: Как узнать логин хостинга.
Чтобы посмотреть, какие процессы запущены, введите команду:
Вместо u1234567 укажите логин услуги хостинга.
Командная строка отобразит запущенные процессы:
Код ошибки 500
Где:
- u1234567 — логин услуги хостинга,
- 40522 — PID процесса,
- S — приоритет процесса,
- /usr/libexec/sftp-server — название процесса.
Процесс можно завершить командой kill
, например:
Вместо 40522 укажите PID процесса.
Чтобы решить проблему, вы также можете:
- увеличить интервал запуска заданий CRON,
- ограничить количество IMAP-соединений в настройках почтового клиента. Подробнее в статье Ограничение IMAP-соединений,
- проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.
Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.
Скрипты работают слишком медленно
На каждом виртуальном хостинге есть ограничения на время выполнения скрипта. Если за установленное время скрипт не успевает выполниться, возникает ошибка сервера 500. Для решения проблемы обратитесь к разработчику сайта и оптимизируйте скрипты. Если оптимизировать нельзя, перейдите на более мощный вид сервера.
У пользователей VPS есть возможность увеличить максимальное использование оперативной памяти на процесс, но лучше делать скрипты меньшего размера.
Ошибка 500 на сайте, созданном на WordPress
WordPress предлагает много плагинов для создания хорошего сайта. Они значительно расширяют возможности CMS. Однако они же могут нарушать работу сайта и вызывать ошибку 500. Вызвать ошибку могут как недавно установленные плагины, так и старые.
Для начала проверьте, нужно ли обновить плагины. Часто устаревшие плагины перестают работать и вызывают проблемы работы сайта. Если все плагины обновлены, но 500 Internal Server Error остаётся, отключите все плагины, чтобы убедиться, что именно они мешают работе сайта. Как только станет понятно, что виноват один из плагинов, отключайте их по очереди, пока не найдёте тот, который нарушает работу сервера.
Как отключить плагин в WordPress
- 1.
-
2.
Перейдите во вкладку «Плагины» ― «Установленные».
-
3.
Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:
Если все ваши действия не решили проблему или вы не уверены в своих технических знаниях, обратитесь к службе технической поддержки. Сообщите время обнаружения проблемы и опишите все действия, которые вы предприняли перед обращением. Специалисты сделают детальную проверку настроек вашего сайта и при необходимости обратятся к администраторам сервера на стороне хостинг-провайдера.