我一直试图在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
答案 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"