2013-07-01 61 views
0

我有一個簡單的Sinatra應用程序。它通過POST請求獲取URL,處理該URL並返回代碼。如何開始在生產中調試Sinatra應用程序?

它通過一個捲曲呼叫我的本地機器正常工作:

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 

但是,它不返回任何東西。流量肯定會進入tcpdump確認的EC2機器,但我不確定它是否實際上擊中了Sinatra應用程序。

我該如何檢查它是否打到Sinatra應用程序?日誌文件保持不變,使用tail -f進行檢查。而且,如果它沒有打到應用程序,我將如何開始調查原因?

回答

0

可能問題是港口。默認情況下,HTTP請求到80端口,您可以在該端口上運行你的應用程序與解決問題:

rackup -p 80 
+0

即使它是SSL? (請注意POST請求中的https) – chintanparikh

+0

看起來它肯定要通過tcpdump的端口443 – chintanparikh

0

你需要改變安全政策,並允許通信端口4567

或者,正如@ismael所建議的那樣,您可以在端口80上運行Rack服務器。這需要root權限,您可能需要使用sudo rackup -p 80rvmsudo rackup -p 80

相關問題