代码之家  ›  专栏  ›  技术社区  ›  rustyshackleford

Django API在本地工作,但在弹性豆茎上部署时不工作。

  •  0
  • rustyshackleford  · 技术社区  · 8 年前

    我正在和 Django Rest Framework Django Rest Framework JWT 但是我遇到了一个关于局部行为和外部行为的问题。

    当我做一个 POST 请求获得JWT令牌,一切按需工作 本地和我的EC2实例上 . 但是,一旦我拥有了令牌,当我向需要身份验证的服务器发出请求时,只有本地服务器返回预期的响应。在我身上 已部署 服务器,我得到以下错误:

    {"detail":"Authentication credentials were not provided."}

    到目前为止我所做的尝试:

    编辑 http.conf 通过ssh连接到我的服务器并启用 WSGIPathAuthorization . (看到一个类似的岗位 here 尝试解决方案)

    是什么导致了这种行为?我的本地机器和部署的代码是相同的,这让我相信这与服务器端配置有关。

    感谢您的帮助。谢谢!

    2 回复  |  直到 8 年前
        1
  •  1
  •   Enthusiast Martin    8 年前

    你提到了ElasticBeanstack。

    您可以将此添加到容器命令中,这些命令将在部署期间执行。

    01_wsgipass:
     command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'
    
        2
  •  0
  •   rustyshackleford    8 年前

    在启用wsgppathauthorization之后,只需重新启动Apache就可以修复我的错误。对于你们中遇到类似情况的人,我是这样做的:

    1. ssh进入服务器

    2. 导航到您的 http.conf 文件被存储(在Apache中,这通常是 etc/httpd/http.conf )

    3. 编辑 http.conf文件 ,添加 WSGIPathAuthorization On .

    4. 通过运行重新启动Apache sudo service httpd restart .