(Android または iPhone) スマートフォンと通信する「ホーム サーバー」タイプのデバイスを顧客に出荷する予定です。問題は、インターネット サービス プロバイダーによっては、顧客が外部から到達可能な IPv4 アドレス (DS-lite トンネリング) を持っていないため、スマートフォンが IPv4 DNS レコードを使用してサーバーを見つけることができないことです。
私が考えることができる代替案:
サーバーで IPv6 DynDNS サービスを使用し、スマートフォンで IPv4 よりも IPv6 を優先するようにします。このソリューションは顧客が DynDNS サービスにサインアップしなくても機能するはずなので、それを可能にするサービスは見つかりませんでした。
ホームサーバーが間隔を置いてシリアル番号を登録するように、独自の「ディレクトリサーバー」をセットアップします-DynDNSに似ていますが、HTTPSを介したアプリケーションレイヤー上にあります。クライアントはシリアル番号をアプリに入力するだけで、サーバーを見つけることができます。認証/暗号化の要件により、このソリューションの実装は思ったよりも困難です。
ホームサーバーを到達可能にする方法について他にアイデアはありますか? 独自の「クラウド サービス」を実行することは本当に避けたいと思います。ある種のピア ツー ピア ネットワーク検出でしょうか。
[更新:]これは私が本質的に探しているものです:
Home server Relay DynDNS Client
| | | |
|-------- open tunnel to port 80 ----->| | |
|<-success, listening on 192.0.2.1:80 -| | |
| | | |
|----- Register "my.ddns.net" ---------------------->| |
|<------------ "my.ddns.net" is now 192.0.2.1 -------| |
| | | |
| |<- GET http://my.ddns.net -|
|<------- GET http://my.ddns.net ----| | |
|--- HTTP response ------------------->| | |
| |----- HTTP response ------>|