Ruby(sinatraを使用)WebサービスをWindows 7 32ビットOSで使用しています。そのポート4567で実行されています。localhost:4567を使用すると正常に機能しますが、localhostを自分のマシンのローカルIPに置き換えると、-192.168.103.99:4567が使用されます動作せず、接続に失敗します。ファイアウォールを無効にし、プロキシをバイパスし、ポート4567を例外に追加しましたが、まだうまくいきません。
問題は何でしょうか?
@SudarshanShubakarのコメントから、次は私のために働いた。
Ruby app.rb -o 0.0.0.0
ビルトインサーバーをrun! if app_file == $0
チェック、 シナトラのドキュメント はset :bind, '0.0.0.0'
は、インターフェイスをlocalhost
レイヤーの外で使用できるようにするために必要です。
カスタムIPアドレスまたは逆引きDNS(mydomain.com…)を使用する必要はありません:'0.0.0.0'
は正当な値 Sinatraが期待する値 であり、正しく解釈されます。
したがって、localhost
だけでなく、すべてのインターフェースで使用できるようになった最小限の自己完結型Sinatraアプリケーションは次のようになります。
require 'sinatra/base'
class MyApp < Sinatra::Base
set :bind, '0.0.0.0'
get '/' do
'Hello World'
end
run! if app_file == $0
end
サーバーのホスト名またはIPアドレスを設定するには、 sinatra設定bindを使用します
set :bind, '192.168.103.99'
この
require 'rubygems'
require 'sinatra'
require "dbi"
set :bind, '192.168.200.185'
get '/' do
'hello Word'
end