如何让 Sinatra 使用 socat 监听两个端口
How to make Sinatra listen on two ports with socat
我有一个经典的 Sinatra 应用程序,可以通过两个端口访问。将其迁移到模块化样式后,第二个端口不再工作。
我最初的实现是:
require 'sinatra'
set :port, 8080
set :bind, '0.0.0.0'
----some routes-----
...
最终实现是:
require 'sinatra/base'
require_rel 'lib'
class MyApp < Sinatra::Base
register Sinatra::SomeRegister
helpers Sinatra::SomeHelper
set :port, 8080
set :bind, '0.0.0.0'
----some routes-----
...
run!
end
该应用程序 运行 使用:
socat tcp-l:8181,fork,reuseaddr tcp:localhost:8080 &
ruby /path/my_app.rb
应用程序不再在端口 8181 上响应。
解决方法是先安装 socat:
apt-get update && apt-get --allow-unauthenticated -y install socat
我有一个经典的 Sinatra 应用程序,可以通过两个端口访问。将其迁移到模块化样式后,第二个端口不再工作。
我最初的实现是:
require 'sinatra'
set :port, 8080
set :bind, '0.0.0.0'
----some routes-----
...
最终实现是:
require 'sinatra/base'
require_rel 'lib'
class MyApp < Sinatra::Base
register Sinatra::SomeRegister
helpers Sinatra::SomeHelper
set :port, 8080
set :bind, '0.0.0.0'
----some routes-----
...
run!
end
该应用程序 运行 使用:
socat tcp-l:8181,fork,reuseaddr tcp:localhost:8080 &
ruby /path/my_app.rb
应用程序不再在端口 8181 上响应。
解决方法是先安装 socat:
apt-get update && apt-get --allow-unauthenticated -y install socat