【问题标题】:How to fix mixed content error in Swagger?如何修复 Swagger 中的混合内容错误?
【发布时间】:2019-11-18 00:49:51
【问题描述】:

我在 Gunicorn 上运行 Django RF 后端应用程序。 尝试从 Swagger 获取数据时,我收到“TypeError: Failed to fetch” 在控制台报这个错误:

混合内容:“https://****.com/swagger/”处的页面通过 HTTPS 加载,但请求了不安全的资源“http://****.com/v2/products/” '。此请求已被阻止;内容必须通过 HTTPS 提供。

我尝试了所有我发现并能想到的方法,包括: 添加

secure_scheme_headers = {
    'X-FORWARDED-PROTOCOL': 'ssl',
    'X-FORWARDED-PROTO': 'https',
    'X-FORWARDED-SSL': 'on'}

给独角兽

USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

到 Django 设置。

但没有任何帮助。

为 Django 招摇:drf-yasg==1.12.1

【问题讨论】:

    标签: django swagger gunicorn


    【解决方案1】:

    我找到了解决方案。在 Django 设置中添加

    SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
    SESSION_COOKIE_SECURE = True
    CSRF_COOKIE_SECURE = True
    
    # Security Headers
    SECURE_CONTENT_TYPE_NOSNIFF = True
    SECURE_HSTS_INCLUDE_SUBDOMAINS = True
    SECURE_HSTS_PRELOAD = True
    SECURE_HSTS_SECONDS = 3600
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-23
      • 2016-10-07
      • 2016-04-08
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多