ローカルvpnトンネルまたはプロキシを作成する方法?

こんにちは、私はiOSアプリに取り組んでいます。アプリはロード時にHTTPサーバー(Vapor)を起動します。このサーバーはローカルホスト(ポート8081)上で動作します。アプリが動作している間、同じネットワークに接続している他のコンピューターもこのウェブサーバーにアクセスできます。これは、デバイスを個人ホットスポットに接続した場合でも機能します。

つまり、すべてのデバイスはiPhoneの個人ホットスポットに接続されているため、ネットワークトラフィックは実際にデバイスを経由しています。

問題は、ローカルネットワーク上の一部のデバイスがローカルネットワークの接続をブロックしていることです。たとえば、127.0.0.1:8081を使用してiPhone上で実行されているサーバーにアクセスしようとするとブロックされます。

これを回避する方法を探しています。一部の人は、ローカルVPNトンネルやローカルプロキシを使用して、接続されたデバイスから127.0.0.1:8081のサーバーにルーティングできるようにできていることを見ました。

基本的には、接続されたデバイスが「fakedomain.com」へのリクエストを行い、それをiOSデバイス上の「127.0.0.1:8081」サーバーにルーティングできるかどうかを知りたいです。

これはよりコメント/質問に近いです… 127.0.0.1は通常「localhost」のIPです。 このアドレスを使って自分自身に接続します。つまり、すべてのデバイスは127.0.0.1に接続すると、自分自身に接続しますが、あなたが望むのは、各デバイスがあなたのiPhone上で動作しているサーバーに接続することです。 あなたのiPhoneには、他のデバイスが接続できる「非ローカル」IPアドレスがあるはずです。 通常は192.168.1.*や10.1.1.*などです。 fakedomain.comを非ローカルIPにルーティングしたい場合は、DNSレベルでこれを行う必要があります。 ホットスポットがカスタムDNSを設定でき、fakedomainを目的のIPにポイントするように構成できるかどうかはわかりません。

あなたの言う通りです。外部デバイスは電話のIPに接続します。電話のサーバーはlocalhostで待ち受けています。

DNSについては正しいですが、ローカルVPNプロファイルを使用すると回避できるかもしれません。それが唯一の選択肢かもしれません。

複数のローカルデバイスを他のローカルデバイスに接続させたい場合、Bonjourを検討すると良いでしょう。これは、ネットワーク上のローカルデバイスがサービスを検索/ブロードキャストできるプロトコルです。Bonjour Concepts

トンネルである必要はありません。すべてのデバイスが接続しているネットワークは、DHCPによるIPおよびDNS割り当てが必要です。 ネットワーク内にカスタムDNSサーバーを設置し、fakecomain.comをiPhoneのサーバーのIPに解決させることができます。ただし、これはあなたが何を達成したいかによります。これはテスト環境ですか?それとも複数のデバイスがお互いにどこからでも接続できる製品を作りたいですか? 前者の場合、ネットワークを設定するだけです。後者の場合は、Bonjourを使ったマルチピア接続の設定が必要です。それが「適切な」方法です。

もしインターネット経由で他のデバイスがあなたのデバイスに接続することを望む場合、それは全く別の話です。

設定は次の通りです:

  • テスラ車がホットスポットを介して電話に接続
  • 電話上のアプリがHTTPサーバーを実行
  • 余談ですが、PCをホットスポットに接続すると、電話のIPアドレスとポートを使ってHTTPサーバーにアクセスできます。
  • テスラ内蔵ブラウザを使うと、電話のIPアドレスを使ってウェブサーバーにアクセスできません。なぜなら、テスラのブラウザはゲートウェイアドレスや他のローカルIPを開かなかったからです。

こちらの議論: https://teslamotorsclub.com/tmc/threads/accessing-webpage-on-gatewas-ip.158147/