Проверьте SSL Ошибка с Golang http сервером? - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть проект golang, который предоставляет некоторые конечные точки REST API через SSL.Я обслуживаю вещи по https с помощью этой строки кода:

router := mux.NewRouter() // mux is from the gorilla mux library

headersOk := handlers.AllowedHeaders([]string{"Accept","Accept-Encoding","Content-Length","Content-Type",
  "Authorization","Organization"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS"})


http.ListenAndServeTLS(":8000", "path/to/example.cert","path/to/example.com.key",handlers.CORS(originsOk, headersOk, methodsOk)(router)

Когда я захожу на https://example.com:8000/some-endpoint с помощью веб-браузера, все загружается нормально, и я вижу красивый зеленый значок замка в моей адресной строке.Но когда я пытаюсь подключиться к нему с помощью программного обеспечения Postman, Postman просто говорит, что не может получить никакого ответа, пока я не отключу «Проверка SSL» в настройках.

Что-то не так с тем, как я инициализирую свой golanghttp server?

Редактировать Используемый мной сертификат является коммерческим сертификатом, подтвержденным Sectigo Limited, который поддерживает поддомены подстановочных знаков.Эта конечная точка API в действительности используется, и другие люди с приложениями ReactJS и Angular JS успешно используют данные из этих конечных точек.

Редактировать 2 Я просмотрел свои сертификаты.У меня есть несколько файлов.Мой /path/to/example.cert на самом деле является объединением этих файлов:

  • example.com.ca-bundle
  • example.com.crt
  • example.com.csr
  • example.com.key

Между каждым сертификатом в /path/to/example.cert я вижу что-то вроде:

-----END CERTIFICATE REQUEST-----^@^@^@^@^@^@.....example.com.key^@^@^@^@^@^@^@^@^@....-----BEGIN PRIVATE KEY-----

Я не уверенесли эти ^@^@^@^@^@ символы должны быть там?Я попытался удалить их и перезапустить мой http-сервер golang, но это не имело никакого значения.

Когда я попытался проверить свои https://example.com:8000 в ssl labs , он сказал, что порт 8000 являетсяне поддерживается.Большинство API REST размещены в одном домене, но с разными номерами портов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...