【问题标题】:Expose port on all interfaces using Webrick使用 Webrick 在所有接口上公开端口
【发布时间】:2018-12-20 22:04:51
【问题描述】:

我是 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'

【问题讨论】:

    标签: ruby webrick


    【解决方案1】:

    您正在寻找的答案在 Sinatra 配置文档中:http://sinatrarb.com/configuration.html

    特别是:bind 选项。示例:set :bind, '0.0.0.0'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多