Flask / NGINX 404仅针对一些POST请求

时间:2018-01-05 00:54:35

标签: nginx flask gunicorn

我有一个使用NGINX作为网络服务器的Gunicorn服务的Flask应用程序。我只有两个有POST请求,登录和提交帖子的端点。登录工作完美无缺,但每当我尝试使用提交帖子端点进行POST时,我收到404.我的代码在没有NGINX或Gunicorn的localhost上运行,并且为了检测请求是POST vs GET我正在使用WTForms {{1 }} 方法。 NGINX错误和访问日志不会显示任何异常情况。

编辑:以下是包含帖子请求的端点的代码

新帖子:

validate_on_submit

登录:

@app.route('/newpost', methods=['GET', 'POST'])
@login_required
def new_post():
    form = BlogForm()
    if form.validate_on_submit():
        #Omitted code for getting form data and creating form object
        try:
            #Omitted code for database actions
            return redirect(url_for('index', _external=True))
        except IntegrityError:
            flash("Error inserting into database")
            return('', 203)
    else:
        #Omitted some code for template rendering
        return render_template('new_post.html')

1 个答案:

答案 0 :(得分:0)

问题最终出现在NGINX上,我通过将/ var / lib / nginx的所有权从nginx用户更改为运行Flask应用程序的用户来修复它。在此之前,AWS并没有让我从new_post中的表单上传文件。