0

我有一个简单的 Sinatra 应用程序。它通过 POST 请求获取 URL,处理该 URL 并返回代码。

它通过 Curl 调用在我的本地机器上运行良好:

curl --data-urlencode "path=PATH_HERE" localhost:4567/process

它返回一个 JSON 响应。

但是,一旦它投入生产(EC2),我会执行类似的 POST 请求:

curl --insecure --data-urlencode "path=PATH_HERE" https://faxattach.staging.myaidin.com/process

但是,它不会返回任何东西。流量肯定会流向 EC2 机器,tcpdump 证实了这一点,但我不确定它是否真的命中了 Sinatra 应用程序。

我如何检查它是否正在访问 Sinatra 应用程序?日志文件保持不变,使用tail -f. 而且,如果它没有击中应用程序,我将如何开始调查原因?

4

2 回答 2

0

您需要更改安全策略并允许流量到端口 4567。

或者,正如@ismael 所建议的,您可以在端口 80 上运行 Rack 服务器。这需要 root 权限,您可能需要使用sudo rackup -p 80or rvmsudo rackup -p 80

于 2013-07-02T10:46:18.273 回答
0

可能问题出在端口上。默认情况下,HTTP 请求转到端口 80。您可以在该端口上运行您的应用程序来解决问题:

rackup -p 80
于 2013-07-02T01:54:44.980 回答