Как заставить Sinatra прослушивать два порта с помощью 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.


person Val Kalinichenko    schedule 17.07.2019    source источник


Ответы (1)


Исправление заключалось в том, чтобы сначала установить socat:

apt-get update && apt-get --allow-unauthenticated -y install socat
person Val Kalinichenko    schedule 19.07.2019