Я использую drf_yasg
для документации о чванстве.Когда я публикую свое приложение DRF за AWS Application Load Balancer и настроил прослушиватель на прослушивание 443 HTTPS и перенаправление на мой EC2, на котором работает DRF, пользовательский интерфейс swagger пытается отправить запрос на конечную точку http://example.com/status
, а не, например, https://example.com/status
.Это приводит к ошибке Google Chrome:
swagger-ui-bundle.js:71 Mixed Content: The page at 'https://example.com/swagger#/status/status_list' was loaded over HTTPS, but requested an insecure resource 'http://example.com/status'. This request has been blocked; the content must be served over HTTPS.
Поэтому мое решение для решения этой проблемы состояло в том, чтобы явно указать URL моего сервера в drf_yasg.views.get_schema_view
.Итак, мой код выглядит так:
schema_view = get_schema_view(
openapi.Info(
title="Server Api Documentation",
default_version="v1",
description="",
url="http://example.com/status"
)
# noinspection PyUnresolvedReferences
swagger_patterns = [
path("", schema_view.with_ui("swagger", cache_timeout=0), name="schema-swagger-ui"),
Я бы хотел не иметь возможности явно задавать строку URL, а вместо этого выбирать схемы между HTTP или HTTPS.Возможно ли это в drf_yasg
?