关于Heroku sock =后端(H18)错误的CGI

时间:2015-12-07 00:44:29

标签: python heroku cgi

我一直试图在heroku上运行CGI脚本而没有运气。

我已按照此回复中的建议:

Run Python CGI Application on Heroku

(通过编辑proc文件来运行python CGI服务器),但是我从heroku日志中收到H18错误。这是错误:

2015-12-07T00:33:49.452384+00:00 heroku[router]: sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/cgi-bin/dilaps.cgi" host=blooming-beyond-1824.herokuapp.com request_id=a53e612c-1148-4f62-93fe-737aaee5af1d fwd="58.96.22.170" dyno=web.1 connect=1ms service=1170ms status=503 bytes=11383

究竟是什么意思,我该如何解决?没有其他错误发生。

以下是我的目录结构,以防相关。

Procfile
jobs -> *txt files
setup.py
cgi-bin -> dilaps.cgi
js -> *js files
css -> *css files
requirements.txt

1 个答案:

答案 0 :(得分:0)

这是我遇到的一个问题:Heroku的HTTP路由器严格关于标题中的回车,而我的浏览器是宽松的。所以我的脚本在测试期间工作,但在Heroku上没有。

所以这个脚本有效:

#!/bin/sh
printf 'Content-Type: text/plain\r\n'
printf '\r\n'
echo "hello world"

...此脚本因H18而失败:

#!/bin/sh
echo "Content-Type: text/plain"
echo
echo "hello world"