Localhost Flask 应用程序在 413 错误后崩溃
Localhost Flask app crashes after 413 error
好的,所以我意识到当我尝试上传超过我在 config.py
中指定的数量时发生了一些奇怪的事情,即:
class Config:
#other configurations
MAX_CONTENT_LENGTH = 10 * 1024 * 1024
当我尝试上传超过 10 MB 时,应用程序没有给我 413 错误,而是拒绝连接。我的错误处理程序:
@errors.app_errorhandler(413)
def error_413(error):
return render_template('errors/413.html'), 413
我的run.py
:
from flaskblog import create_app
app = create_app()
if __name__ == "__main__":
app.run(debug=True)
我可以在终端上看到我遇到了这个错误:
"POST /foo/bar HTTP/1.1" 413 -
虽然我的应用程序在终端上似乎是 运行,但我无法访问它。它只是死在浏览器上:
ERR_CONNECTION_REFUSED
我在 uWSGI、Werkzeug 和其他浏览器上试过 运行,没有成功。
知道发生了什么吗?
编辑:我重新启动计算机后可以访问。但我仍然很好奇为什么会发生这种情况。
我还使用带有外部 IP 的云 SQL 以获取更多信息。
我在使用MAX_CONTENT_LENGTH
configuration.Did时遇到了类似的错误你注册蓝图errors
如果是,请尝试从@errors.app_errorhandler
中删除app_
。如下所示:
@errors.errorhandler(413)
def error_413(error):
return render_template('errors/413.html'), 413
如果这不起作用,请尝试删除 MAX_CONTENT_LENGTH
行,或者如果您尝试从另一台设备连接,请使用以下命令 运行 您的应用程序 flask run --host=0.0.0.0
然后访问它在另一台设备上使用你的路由器的 IP 地址,通常看起来像 192.168.xxx.xxx
和你的应用程序正在 运行 上的端口像 192.168.xxx.xxx:<port_of_your_app>
。如果这不起作用,它可能是一个您的防火墙拒绝您的应用 运行 正在使用的端口中的传入连接,在这种情况下,您可以 运行 在您的终端 sudo ufw allow <YOUR_PORT>
.
上执行以下命令
好的,下次我应该更仔细地阅读文档:
Connection Reset Issue When using the local development server, you
may get a connection reset error instead of a 413 response. You will
get the correct status response when running the app with a production
WSGI server.
好的,所以我意识到当我尝试上传超过我在 config.py
中指定的数量时发生了一些奇怪的事情,即:
class Config:
#other configurations
MAX_CONTENT_LENGTH = 10 * 1024 * 1024
当我尝试上传超过 10 MB 时,应用程序没有给我 413 错误,而是拒绝连接。我的错误处理程序:
@errors.app_errorhandler(413)
def error_413(error):
return render_template('errors/413.html'), 413
我的run.py
:
from flaskblog import create_app
app = create_app()
if __name__ == "__main__":
app.run(debug=True)
我可以在终端上看到我遇到了这个错误:
"POST /foo/bar HTTP/1.1" 413 -
虽然我的应用程序在终端上似乎是 运行,但我无法访问它。它只是死在浏览器上:
ERR_CONNECTION_REFUSED
我在 uWSGI、Werkzeug 和其他浏览器上试过 运行,没有成功。
知道发生了什么吗?
编辑:我重新启动计算机后可以访问。但我仍然很好奇为什么会发生这种情况。 我还使用带有外部 IP 的云 SQL 以获取更多信息。
我在使用MAX_CONTENT_LENGTH
configuration.Did时遇到了类似的错误你注册蓝图errors
如果是,请尝试从@errors.app_errorhandler
中删除app_
。如下所示:
@errors.errorhandler(413)
def error_413(error):
return render_template('errors/413.html'), 413
如果这不起作用,请尝试删除 MAX_CONTENT_LENGTH
行,或者如果您尝试从另一台设备连接,请使用以下命令 运行 您的应用程序 flask run --host=0.0.0.0
然后访问它在另一台设备上使用你的路由器的 IP 地址,通常看起来像 192.168.xxx.xxx
和你的应用程序正在 运行 上的端口像 192.168.xxx.xxx:<port_of_your_app>
。如果这不起作用,它可能是一个您的防火墙拒绝您的应用 运行 正在使用的端口中的传入连接,在这种情况下,您可以 运行 在您的终端 sudo ufw allow <YOUR_PORT>
.
好的,下次我应该更仔细地阅读文档:
Connection Reset Issue When using the local development server, you may get a connection reset error instead of a 413 response. You will get the correct status response when running the app with a production WSGI server.