HTTP GET с использованием cURL выдает ошибку SSL

Я написал сервер REST, который прослушивает порт 8000. Я пытаюсь вызвать api с того же компьютера с помощью команды cURL -

curl -H "accept: application/json" https://localhost:8000/status -v

Я получаю следующую ошибку

* About to connect() to localhost port 8000 (#0)
*   Trying ::1...
* Connected to localhost (::1) port 8000 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL received a record that exceeded the maximum permissible length.
* Closing connection 0
curl: (35) SSL received a record that exceeded the maximum permissible length.

Я попытался обойти проверку сертификата с помощью опции -k, но безрезультатно. Что мне здесь не хватает? Прокомментируйте, если требуется дополнительная информация.

РЕДАКТИРОВАТЬ: Мой друг предложил попробовать использовать только http в команде cURL. Затем он обошел проверку SSL, и все заработало. Но что не так с https? Нужно ли мне также устанавливать сертификат для localhost? Кроме того, почему не работает опция -k?

Ваш порт 8000 отвечает на запросы SSL ?! Настроен ли сертификат?

deceze 29.05.2018 12:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
6 863
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

My friend suggested to try with only http in the cURL command. Then it bypassed SSL check and it worked.

Похоже, на вашем сервере вообще не включен SSL. Вот почему HTTP работал, а HTTPS - нет. Использование HTTP не привело к обходу какой-либо проверки SSL, потому что нет SSL с HTTP и, следовательно, нет проверки SSL, которую нужно было бы обойти.

Also, why didn't -k option work?

Параметр -k используется для пропуска проверки сертификата для соединений SSL (HTTPS). Но это может работать только при наличии SSL-соединения. Поскольку ваш сервер вообще не поддерживает SSL, -k не поможет.

Do I need to install certificate for localhost also?

Вам необходимо сначала включить SSL на вашем (неизвестном) сервере. Если вы закодировали свой собственный сервер, это означает дополнительное кодирование. И, как только сервер вообще может использовать SSL, вам также необходимо настроить сертификат, который сервер может предоставить клиенту.

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

Возможно, кто-то просто хочет сначала провести быстрый тест и не хочет настраивать виртуальный хост, тогда он столкнется с этим сообщением об ошибке.

Другие вопросы по теме