Gunicorn在POST上获取ERR_INCOMPLETE_CHUNKED_ENCODING

时间:2018-11-27 20:24:59

标签: nginx flask docker-compose webserver gunicorn

我正在将我的flask服务器应用程序转换为带有docker-compose的docker容器,并在将输出流传输到textarea之后遇到问题(在将我的flask应用程序托管在Linux机器上之前,这没有发生)。

当我触发事件(单击按钮)时,它将ajax请求发送到flask应用程序,flask应用程序将输出连续流回给客户端,这一切正常(并且我在我的textarea中看到了流)。

当请求完成(xhr.readyState == XMLHttpRequest.DONE),我得到usb.js:521 POST http://myserver:8000/stream net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)且textarea变为空白时(以前我看到了所有文本输出,但是当ajax完成时出现错误并且textarea消失了),就会发生问题空白)。

我一直在网上阅读,很多人都说nginx更新可以解决此错误。因此,当前我的Docker没有运行代理,我仅通过Gunicorn为其提供服务,是否需要在docker-compose中添加像nginx这样的代理?我以为只有GUnicorn才能满足我的Docker容器的需求?

我也阅读了https://rhodesmill.org/brandon/2013/chunked-wsgi/

这似乎是我的问题,但我不确定如何解决。

这是我的docker-compose:

version: "2.1"
services:
  db:
    image: mysql:5.7
    env_file: .env
    ports:
      - "3306:3306"
    environment:
      - MYSQL_DATABASE=mydb
      - MYSQL_USER=user
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
    volumes:
      - ./db:/docker-entrypoint-initdb.d/
      - my-datavolume:/var/lib/mysql

  app:
    build: ./
    user: root
    ports:
      - "2222:22"
      - "5000:5000"
      - "5005:5005"
    depends_on:
      - "db"
    command: sh -c "/usr/local/bin/upstart.sh"
    volumes:
      - ./upstart.sh:/usr/local/bin/upstart.sh

volumes:
  my-datavolume:

0 个答案:

没有答案