2016-09-02 5 views
1

ローカルネットワーク上で意図したとおりに動作する私のマシン上の0.0.0.0:3000にバインドされた単純なWebサーバーを持っています。ローカルネットワークとは、自分の携帯電話や他のデバイスが同じネットワーク上にある場合、自分のマシンに割り当てられたIPに行き、ポート3000を追加することでローカルWebサーバーにアクセスできるということです。例えば192.168.1.4:3000動的IPの背後にあるローカルWebサーバーを公開する

今私はそれをインターネットに公開しましたが、ngroklocaltunnel、またはbrowserSyncのようなサードパーティアプリケーションのようなものではありません。私はこれらのアプリケーションは完璧に動作することを知っていますが、家電を制御する独自のペットプロジェクトがあるため、サードパーティサービスの可用性に頼ることは望ましくありません。現在の状態は、インターネットで制御できません。私は静的IPを持っていないことを覚えておいてください。

すでにvpsとドメイン名が割り当てられています。 getifaddrsを使用して現在割り当てられているIPアドレスを(動的なので)私のサーバに送信し、それを追跡することができます。しかし、どうすれば自分のローカルサーバーをインターネット経由で公開することができますか?これらのサードパーティのアプリケーションは、公開されている各サーバーにある種のサブドメインを割り当てているので、サブドメインも割り当てることができますが、ローカルWebサーバーを公開する方法はまだありません。どんな助けもありがとうございます:)

答えて

2

ステップ1、インターネットアクセスルータでWebサーバーを公開する必要があります。 は通常、これはこれで行わ付き(あなたのケースでは)ポート3000 ためを転送ポートを設定する必要があり、任意のクライアントは、(現在の外部動的IP)経由でサービスにアクセスすることができます:3000

ステップ2、あなたがする必要があります固定DNS名を現在の動的IPに動的にマッピングします。もちろん、DynDNSのようなサードパーティのサービスもあります。このサービスは、あなたの好みの名前をその常に変化するIPアドレスにマッピングするのに役立ちます。

サードパーティ製ずに、後者を行いたい場合は、あなたがどこか一部静的(ウェブ)サーバーを持っているし、次のように進むことができ必要があります。

クライアントがhttp://www.yourstaticserver.example/を訪問し、そのサーバーが(現在の動的にリダイレクトip):3000。 もちろん、これを行うには、静的サーバーが動的IPを知っている必要があり、その変更を知る必要はありません。 これは、定期的な間隔(1分に1回など)で内部サーバーを静的サーバーに接続させることができます。たとえば、http://www.yourstaticserver.example/some-secret-special-pageにアクセスし、スタティックサーバーは常にそのような要求のREMOTE_ADDRを格納します!)を将来のリダイレクションのために使用します。


実際には、ステップ1の前にステップゼロがあります:インターネットにサーバーを暴露すると、あなたがインターネットにサーバーを公開ことを意味していることに注意してください。だから私はあなたが十分な考えをセキュリティに投資したことを願っています。

+0

私は動的IPアドレスを追跡し、自分自身を現在割り当てられているものにリダイレクトすることで、自分自身で手順2をやっています。私が直面している問題は、ステップ1にあります。これらのアプリケーションは、私のインターネットルータで手動セットアップをするように求めていません。彼らはうまくいく。それが私が達成しようとしていることです。 –

関連する問題