使用 Webrick 在所有接口上公开端口
Expose port on all interfaces using Webrick
我是 Ruby 的新手。
我正在处理使用 WEBrick 部署 HTTPServer 的脚本。
当脚本运行时,它会注销:
check_1 | [2018-12-20 17:51:47] INFO WEBrick::HTTPServer#start: pid=1 port=4567
当我在机器上执行 netstat
时,我注意到该服务仅在 127.0.0.1
上侦听
$ netstat -tulpn
root@c4a20aa7bd8c:/opt/service# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:4567 0.0.0.0:* LISTEN 1/ruby1.9.3
我想监听所有 IP,以便我可以从另一个容器与此服务通信。
如何或需要什么配置?
我的服务器脚本定义是:
#!/usr/bin/ruby
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader' if development?
also_reload 'config.yml'
require "sinatra/config_file"
require 'mechanize'
require "json"
require 'open-uri'
require 'mongo'
require 'uri'
require 'addressable/uri'
require 'cgi'
include Mongo
require 'nokogiri'
set :server, 'webrick'
您正在寻找的答案在 Sinatra 配置文档中:http://sinatrarb.com/configuration.html
特别是 :bind
选项。示例:set :bind, '0.0.0.0'
我是 Ruby 的新手。
我正在处理使用 WEBrick 部署 HTTPServer 的脚本。
当脚本运行时,它会注销:
check_1 | [2018-12-20 17:51:47] INFO WEBrick::HTTPServer#start: pid=1 port=4567
当我在机器上执行 netstat
时,我注意到该服务仅在 127.0.0.1
$ netstat -tulpn
root@c4a20aa7bd8c:/opt/service# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:4567 0.0.0.0:* LISTEN 1/ruby1.9.3
我想监听所有 IP,以便我可以从另一个容器与此服务通信。
如何或需要什么配置?
我的服务器脚本定义是:
#!/usr/bin/ruby
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader' if development?
also_reload 'config.yml'
require "sinatra/config_file"
require 'mechanize'
require "json"
require 'open-uri'
require 'mongo'
require 'uri'
require 'addressable/uri'
require 'cgi'
include Mongo
require 'nokogiri'
set :server, 'webrick'
您正在寻找的答案在 Sinatra 配置文档中:http://sinatrarb.com/configuration.html
特别是 :bind
选项。示例:set :bind, '0.0.0.0'