Вариант 1: Завершить Pow с Tunnelss
У меня возникла проблема с решением Tunnels , что здорово, но будетбыть замеченным как небезопасным браузером , что вызывает головную боль при игре, например, с CORS.
Я тестировал решение PowSSL (решение, использующее Stud), но в нем отсутствовал HTTP_X_FORWARDED_PROTO
, что вызовет еще один приступ головной боли, когда вашему приложению нужно будет узнать, было ли оно запрошено через HTTP или HTTPS (ну, оно никогда не узнает, что это HTTPS).
Но этот более поздний подход был великолепен, поскольку он генерировал действительный сертификат для всех настроенных доменов POW .dev
!
Итак, я построил tunnelss , который сочетает в себе два подхода : это ветвь туннелей и добавляет генерацию сертификатов!
Надеюсь, вам понравится, не стесняйтесь отправлять запросы извлечения, если вы хотите завершитьэто просто быстрый взлом, работающий на MacOS X на данный момент ...
Вариант 2: переключиться на Invoker (используя мой форк ... сейчас)
Invoker - отличная замена Pow, поскольку он изначально включает поддержку HTTPS. Вам не нужно добавлять другое решение поверх Pow, чтобы получить HTTPS!
ОднакоПо сравнению с Pow, я обнаружил, что у него есть 2 ограничения:
- вы должны указать команду для каждого процесса, чтобы он мог его запустить,
- вы не можете иметьправило по умолчанию, обрабатывающее все запросы к localhost и передающее их конкретному приложению.
Эти ограничения было несложно преодолеть, и я сделал запрос на получение с двумя изменениями.Пока она не будет принята, вы можете установить разветвленную версию, используя:
git clone https://github.com/rchampourlier/invoker invoker -b proxy-only-mode
cd invoker
gem build invoker.gemspec
gem install invoker-1.5.0.gem
С помощью этого форка вы сможете использовать глобальную конфигурацию, например ~/.invoker.ini
, например, такую:
[my-rails-app]
port = 3000
[my-sinatra-app]
port = 9292
[default]
port = 9292
... и запустите Invoker как прокси с этой командой:
invoker ~/.invoker.ini -d