簡體   English   中英

無法從同一網絡上的另一台計算機訪問本地Sinatra服務器

[英]Cannot access local Sinatra server from another computer on same network

我有一個簡單的Sinatra服務器,我通過textmate運行,但我無法從同一網絡上的另一台計算機訪問。

我在Mac OS 10.8.3上運行Ruby 1.9.3p327和Sinatra 1.4.1。 防火牆已禁用。

我在不同的網絡和計算機上測試了相同的場景。

計算機響應簡單的ping但當我嘗試telnet端口4567時,我無法建立連接。

最近由於安全考慮,Sinatra提交了將開發模式中的默認監聽地址從0.0.0.0更改為localhost

為了明確允許從網絡訪問,您需要以其他模式(例如生產)運行應用程序,或將bind選項設置為0.0.0.0

您可以使用-o選項使用內置服務器從命令行執行此操作:

$ ./my_sinatra_file.rb -o 0.0.0.0

確保sinatra服務器不僅偵聽localhost(127.0.0.1)的ip地址。

我正在尋找一些額外的信息,可以幫助像我這樣的人撞牆。

我在Windows機器上,而不是Mac機器上,我不得不向公眾打開我正在使用的端口(Sinatra默認為4567)(即使我在大學網絡上)。

要在Windows 10中執行此操作:

  1. 點擊Windows鍵
  2. 搜索防火牆並按Enter鍵
  3. 轉到高級設置
  4. 單擊左上角的入站規則
  5. 單擊右上角的新規則
  6. 單擊端口選項
  7. 輸入您的港口(Sinatra可能是4567)
  8. 下一個
  9. 現在選擇域/私人/公共。

現在要考慮的另一件事是誰可以訪問您的Web服務器。 如果你想要任何人,那就選擇公開。 我不確定(並且會喜歡其他人的輸入)如何只在同一公共網絡上連接設備。 您也可以允許特定的IP,但為此我建議您自己做一些研究。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM