2

因此,我配置了一个网站,允许我将来自 wave 区块链的数据显示到在 AWS EC2 实例上运行的 django 站点上。

我使用 bitnami 将 django 的堆栈映像安装到服务器上。

该网页的工作方式如下所示 www.wavesico.tk/Project/get-ico/jacks-easter-eggs

Django 版本 = 1.11.6

我的 url 正确指向我的视图(因为上面的 URL 有效) urls.py:

urlpatterns = [
   url(r'^admin/', admin.site.urls),
   url(r'^$', default_urlconf),
   url(r'^createICO/$', initialForm),
   url(r'^get-ico/([\w-]+)/$', crowdFund),     
]

在我的视图文件中,我包括:

from django.views.decorators.clickjacking import xframe_options_exempt

@xframe_options_exempt
def crowdFund(request, company_name):
    c = WavesCompany.objects.get(name=company_name)

    data = tokens.getTokenData(c.holdersKey, c.tokenKey)

    return render(request, 'crowd_fund.html', data)

我还在我的设置文件中包含了中间件:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

但是,Chrome 仍然在框架中报告错误“拒绝显示” https://www.wavesico.tk/Project/get-ico/jacks-easter-eggs/,因为它将“X-Frame-Options”设置为“同源

我尝试将“render()”函数更改为“HttpResponse”,但仍然没有运气。

谢谢大家,杰克

4

1 回答 1

0

正如 Alasdair 在评论中所引用的那样,如果您使用 bitnami 堆栈映像来启动您的服务器,bitnami 将在彼此之上创建两个 apache 文档文件夹。

如本链接所述https://community.bitnami.com/t/embed-page-with-iframe-using-ip-address/43130

您应该能够找到另一个将所有 x-frame 选项设置为 SAMEORIGIN 的 apache 配置文件,您必须将其更改为您的偏好以及实际的 bitnami 配置文件。

于 2017-11-28T11:24:33.263 回答