2017-10-28 303 views
1

我正在使用我的大學的ISP阻止5000端口,所以我不能rake db:setup到heroku。我最近運行了heroku rake db:reset,以便我可以創建一個新的數據庫,但現在我不知道如何設置它。有沒有簡單的方法來做到這一點?我看過很多關於heroku pg:push的文章,但似乎無法弄清楚我需要爲此付出什麼。鑑於我的5000端口被阻塞,我如何設置我的postgres數據庫?在沒有CLI的情況下將schema.rb部署到Heroku

編輯:當運行heroku run rake db:migrate我收到以下錯誤信息:ETIMEDOUT: connect ETIMEDOUT 50.19.103.36:5000

編輯2:這裏是dig rendezvous.runtime.heroku.com

響應

`

<<>> DiG 9.8.3-P1 <<>> rendezvous.runtime.heroku.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49376 
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 5 

;; QUESTION SECTION: 
;rendezvous.runtime.heroku.com. IN A 

;; ANSWER SECTION: 
rendezvous.runtime.heroku.com. 450 IN CNAME ec2-50-19-103-36.compute-1.amazonaws.com. 
ec2-50-19-103-36.compute-1.amazonaws.com. 604800 IN A 50.19.103.36 

;; AUTHORITY SECTION: 
compute-1.amazonaws.com. 1 IN NS pdns1.ultradns.net. 
compute-1.amazonaws.com. 1 IN NS ns4.p31.dynect.net. 
compute-1.amazonaws.com. 1 IN NS pdns3.ultradns.org. 
compute-1.amazonaws.com. 1 IN NS u4.amazonaws.com. 
compute-1.amazonaws.com. 1 IN NS u3.amazonaws.com. 
compute-1.amazonaws.com. 1 IN NS ns3.p31.dynect.net. 
compute-1.amazonaws.com. 1 IN NS ns2.p31.dynect.net. 
compute-1.amazonaws.com. 1 IN NS pdns5.ultradns.info. 
compute-1.amazonaws.com. 1 IN NS u6.amazonaws.com. 
compute-1.amazonaws.com. 1 IN NS u1.amazonaws.com. 
compute-1.amazonaws.com. 1 IN NS ns1.p31.dynect.net. 
compute-1.amazonaws.com. 1 IN NS u5.amazonaws.com. 
compute-1.amazonaws.com. 1 IN NS u2.amazonaws.com. 

;; ADDITIONAL SECTION: 
pdns1.ultradns.net. 1970 IN A 204.74.108.1 
pdns1.ultradns.net. 1970 IN AAAA 2001:502:f3ff::1 
ns3.p31.dynect.net. 69968 IN A 208.78.71.31 
pdns3.ultradns.org. 12753 IN A 199.7.68.1 
pdns3.ultradns.org. 43539 IN AAAA 2610:a1:1015::1 

;; Query time: 72 msec 
;; SERVER: 152.19.240.8#53(152.19.240.8) 
;; WHEN: Sat Oct 28 19:50:08 2017 
;; MSG SIZE rcvd: 500` 
+0

運行'heroku run rake db:migrate'時會出現什麼錯誤?請將其添加到您的帖子中。另請查看https://devcenter.heroku。com/articles/one-off-dynos#疑難解答 – Cyzanfar

+0

我看過那個頁面,但我無法讓我的IT部門打開5000端口,因爲它是Windows惡意軟件的常見位置。在執行'heroku run rake db:migrate'時剛剛添加了我的代碼的結果。我只想找到一種方法來遷移我的schema.rb。我已經嘗試過'heroku run:detached rake db:setup',但它不起作用。不知道爲什麼。 –

+0

你可以運行'dig rendezvous.runtime.heroku.com'並向我們顯示輸出。 – Cyzanfar

回答

0

經過大量工作,我發現這只是我大學的一個港口區塊。如果你遇到這個問題並且在大學,解決這個問題的最好辦法就是去當地一家提供免費無線網絡的咖啡店。 Heroku CLI依靠運行的端口rails consolerake db:migrate和許多其他命令依賴於您能夠通過此端口保持連接,並且不起作用。感謝Cyzanfar的幫助。

1

好了,所以我讀Heroku documentation我發現這個:

Heroku的運行命令打開端口5000到Heroku的連接如果您的本地>網絡或ISP是阻止端口5000,或者你是 遇到連接問題,你將看到類似的錯誤:

$ heroku run rails console 
    Running rails console attached to terminal... 
    Timeout awaiting process 

您可以通過嘗試使用telnet在端口5000上直接連接 至rendezvous.runtime.heroku.com來測試您與Heroku的連接。一個 成功的會議將是這樣的:

$ telnet 
    rendezvous.runtime.heroku.com 5000 Trying 50.19.103.36... 
    Connected to ec2-50-19-103-36.compute-1.amazonaws.com. 
    Escape character >is '^]' 

如果沒有得到這個輸出,您的計算機正在從 阻止訪問我們的服務。我們建議您聯繫您的IT部門, ISP或防火牆製造商,以解決此問題。

你使用什麼代理?由於heroku run不會執行HTTP呼叫,因此您最有可能對您的ISP阻止端口5000正確,而是使用端口5000上的TCP進行連接,並使用自己的協議。

,我發現這個Stackoverflow post,所提到的在後臺運行的命令得到解決此問題:

$ heroku run:detached rake db:migrate 

然後尾巴的日誌,看看發生了什麼:

比這個我
$ heroku logs -p run.1 -t 

其他不知道任何可以繞過5000端口塊的東西。

相關問題