web-dev-qa-db-ja.com

Ngrokは同じドメインに複数のポートを構成します

同じドメインの ngrok で複数のポートを開くことは可能ですか?

何かのようなもの:

転送 http://example.ngrok.com:50001 -> 127.0.0.1:50001

転送 http://example.ngrok.com:50002 -> 127.0.0.1:50002

私はWindowsで作業しており、IIS Expressでデバッグするのに役立ちます

47
fravelgue

はい、同じhostname内で 複数の同時トンネル を使用することができます!

あなたがする必要があるのは、次のように設定ファイルでそれらを宣言することです:

authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p
tunnels:
  first-app:
    addr: 50001
    proto: http
    hostname: example.ngrok.com
    Host_header: first-app.example.ngrok.com
  second-app:
    addr: 50002
    proto: http
    hostname: example.ngrok.com
    Host_header: second-app.example.ngrok.com        

そして、それらを実行します:

ngrok start --all

hostnamesubdomainauthtokenHost_headerなどのオプションのドキュメントを参照してください。これがあなたを助けることを願っています!

P.S無料プランの場合、このようにカスタムホストとヘッダー部分を削除すると、異なるドメインになります。

authtoken: 6yMXA63qefMZqCWSCHaaYq_5LufcciP1rG4LCZETjC6V
tunnels:
  first:
    addr: 3002
    proto: http    
  second:
    addr: 8080
    proto: http

注:

27
robe007

複数のポートを備えたngrokで私にとってうまくいったこと

そのため、異なるポートで機能するためにsame domain Originポリシーが必要な問題がありましたが、最終的にngrokはこれをサポートしていないため、トラックで停止しました。カスタムサブドメインまたはカスタムドメインをサポートしますが、すべてポート80を経由する必要があるであるため、異なるポートではサポートしません。

終了する代わりに物事を一緒にハックする nginxをローカルで次のように使用する必要がありました:

http {
    server {
        listen       7777;
        server_name  localhost;

        location / {
            proxy_pass http://127.0.0.1:5000;
        }

        location /api {
            proxy_pass http://127.0.0.1:8000;
        }
    }
}

幸いなことに、APIサーバーがすべての呼び出しに「api」というプレフィックスを付けたので、特定のポートにAPI呼び出しをルーティングし、別のWebサーバーで他のトラフィックを処理できます。

次に、すべてのAPI呼び出しを同じngrokアドレスにルーティングするようにパブリックWebサーバーを構成し、ngnixがそれを整理できるようにしました。

これが、あなたが私がそうであるようにあなたが動けなくなるかもしれない1つの方法だけを考えて、そこに着く解決策の組み合わせを考えるのを助けるかもしれないことを望みます。

3
Jason Sebring