私はあまり経験がありませんが、過去に少しレールで遊んだことがあります。実際にインターネットに何も公開せずにアプリをテストするのは簡単でした。ブラウザで localhost を指定するだけでよいからです。しかし、このアプリは携帯電話から入力を取得するため、公開する必要があると思います。私がこれまでに行ったことは、それをherokuにプッシュしてそこでテストすることでしたが、変更を加えるたびにプッシュしたため、それはまったく良い解決策とは思えません。ルーターのポートを開き、サーバーを公開する必要があると考えています。これは、かなり迅速に行う方法を理解できると思います。これを可能な限り安全に保つ方法について何か提案はありますか? または、私が見逃しているより良い解決策はありますか?
2 に答える
サーバーと携帯電話が同じネットワーク上にあるかどうかをテストする方法は、サーバーを実行しているマシンでローカル IP アドレスを見つけるだけです。次に、携帯電話のブラウザーに移動し、サーバーがリッスンしているポートの「コロン」にブラウザーの IP を入力します (Rails サーバーの場合は、ほとんどの場合 3000)。
たとえば、サーバーの IP が 192.168.0.1 の場合、192.168.0.1:3000 になります。
アプリでこれを行っているため、接続の IP に 192.168.0.1、ポートに 3000 を入力するだけです。または、URL 192.168.0.1:3000 を使用する場合 (ブラウザと同様)
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://192.168.0.1:3000");
非常に簡単な方法は、Powをxip.ioと組み合わせて使用することです。
前者は、バックグラウンドで任意の Rack アプリケーションを実行するローカル Web サーバーです。インストールは次のように簡単です。
$ curl get.pow.cx | sh
アプリを次の場所にリンクします。
$ ln -s <path-to-app> ~/.pow/myapp
アプリはhttp://myapp.dev/
ローカルでアクセスできるようになりました。
コンピューターの IP が 10.0.1.1 で、携帯電話が同じ Wi-Fi ネットワーク上にあると仮定すると、アプリは から電話でアクセスできますhttp://myapp.10.0.1.1.xip.io
。
注意: 携帯電話のパフォーマンスではなく、Wifi のパフォーマンスが得られます。