首页 > 解决方案 > GET 可以工作,但 POST 不能在 Docker 上工作

问题描述

该应用程序位于使用 Docker 配置的 Django 上。GET 请求工作正常。但是 POST 请求不起作用。我在下面添加了 nginx.conf 文件以供参考。

POST 请求是身份验证所必需的。

upstream app_server {
  server djangoapp:8000 fail_timeout=0;
}

server {
  listen 80;
  server_name samplewebsite.com;
  root /opt/djangoapp/src/samplewebsite/samplewebsite;
  index index.html;

  server_tokens off;

 location / {
   try_files $uri $uri/ /index.html;
 }

  location /media  {
    alias /opt/djangoapp/src/media/;
  }

  location /static {
    alias /opt/djangoapp/src/static/;
  }

  location /api/ {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_pass http://app_server/;
  }

  location /admin/ {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_pass http://app_server/admin/;
  }

    client_max_body_size 128m;
}


POST 请求的响应是错误代码 405。

让我知道是否需要在问题中添加更多信息。

标签: djangodockernginxnginx-config

解决方案


推荐阅读