ошибка WEBSOCKET_CERT_AUTHORITY_INVALID

#certificate #wss

#сертификат #wss

Вопрос:

когда некоторые игроки заходят в нашу игру, они встречают эту ошибку во всех браузерах введите описание изображения здесь

Недавно мы изменили сертификат. Итак, я проверяю сертификат одного игрока на нашей игровой странице,введите описание изображения здесь

Это самый последний сертификат. Итак, что может вызвать эту проблему? Должны ли мы что-то делать после изменения сертификата?

ПРАВКА1

Кэшировал ли CDN сертификат? После обновления CDN некоторые игроки могут немедленно подключиться к игре.

ПРАВКА2

Мы обнаружили, что в браузере игрока есть такая опция «блокировать небезопасный сертификат», когда опция включена, он не может подключиться к серверу, и он может подключиться к серверу, когда опция отключена. Мы экспортируем промежуточный сертификат и отправляем его проигрывателю для импорта. После этого игрок может играть в игру с выбранной опцией.

ПРАВКА3

Наконец, мы обнаружили, что промежуточный сертификат находится прямо на стороне nginx, но на стороне сервера ca отсутствует. После его добавления websocket может работать. И когда я задал тот же вопрос на другом форуме v2ex, я нашел хороший способ проверить, завершена ли цепочка сертификатов. вы можете зайти на сайт и изменить домен и порт на своем сайте.

https://cert.catbox.io/api/v1/queryChain ?домен = s41001-ad-tanwan.zlgl.17tanwan.comamp;порт = 8085

Если ваш сервер правильный, вы найдете сертификат на стороне сервера и промежуточный сертификат.Если вы не можете найти промежуточный сертификат, вам необходимо проверить конфигурацию вашего сервера.

Ответ №1:

Ваш сервер https://s41001-ad-tanwan.zlgl.17tanwan.com / предоставляет только последний сертификат в цепочке, фактический сертификат сервера.

Этот сертификат подписан промежуточным сертификатом от «RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1», который действителен с 2020-07-16. Если клиенты не обновляли свои браузеры / операционные системы в течение некоторого времени, у них нет этого промежуточного сертификата, и они сообщают об этом как о недопустимом центре сертификации.

Поместите промежуточный сертификат в файл сертификата, и это должно устранить проблему, поскольку промежуточный сертификат подписан корневым сертификатом DigiCert, который находится в игре с 2006 года. Он есть у всех.

Вы используете nginx, верно? ssl_certificate Инструкция в nginx принимает файлы с цепочками сертификатов. Сначала в этом файле должен быть сертификат сервера, затем промежуточный сертификат.

Комментарии:

1. Мы проверили nginx и обнаружили, что уже установили промежуточный сертификат. Кэшировал ли CDN сертификат? После обновления CDN некоторые игроки могут немедленно подключиться к игре.

2. Да, вы предоставляете промежуточный сертификат. Затем просто попросите игроков, у которых возникли проблемы, открыть страницу s41001-ad-tanwan.zlgl.17tanwan.com . Это ошибка 403, но это не имеет значения. Попросите их нажать на знак блокировки в адресной строке. Что такое сертификат? Возможно, ваш веб-сайт заблокирован каким-либо брандмауэром, который перехватывает трафик и вводит свой собственный сертификат.

3. Наконец, мы обнаружили, что на стороне nginx промежуточный сертификат является правильным. Но на стороне сервера промежуточный сертификат отсутствует.

4. @Pan, вы уверены, что добавили сертификат на сервер? Я использую openssl s_client инструмент для проверки вашего сертификата, и он по-прежнему сообщает мне, что существует только один сертификат. Ссылка, которую вы указали в своем вопросе, также показывает только один сертификат.

5. Да, я ошибаюсь, говоря, что промежуточный сертификат отсутствует. Я только что спросил бэкэнд-программиста, он сказал мне, что серверная часть не настроена для CA. Мы тестируем его на другом сайте, поэтому ссылка показывает только один сертификат.