自宅サーバにアクセスする時に、LAN内からドメイン名でアクセスするとルータによっては「Bad host request.」などと表示されアクセス出来ない事がある。
これは外部からルータのグローバルIPにアクセスした時はIPフォワードし、LAN内からルータのグローバルIPにアクセスした時はルータの設定画面を表示する為にこうなるらしいが、今一納得出来ない。
ルータのプライベートIP側にアクセスした時だけルータの設定画面を表示すればセキュリティ的にも望ましいと思うのだが、無理なのだろうか。
解決策としてはDNSを立てるかHostsファイルの設定でドメインと自宅サーバのプライベートIPの対応を記述すれば良い。
わざわざDNSを立てるのも何なのでHostsファイルを記述する事が多いと思うが、困った事にスマホにはこの手が使えない。
……だったのだが偶然スマホでもアクセスする方法を発見した。
限定的だがAndroidとiPhoneで確認済み。
まずChromeをインストールし(Chrome betaでも可)、以下の設定をする。
- Android
設定→データセーバーを有効にする。 - iPhone
設定→帯域幅→データ使用量を節約を有効にする。
以上でスマホからドメインを使ったアクセスが可能になる。
原理は、リクエストがスマホ→Googleのサーバ→自宅サーバという経路になり、自宅サーバからはGoogleがアクセスしに来てるように見える(外部からのアクセスに見える)。
レスポンスは自宅サーバ→Googleのサーバ→スマホという流れである意味プロキシと同じ形になる。
プロキシ+データ圧縮と言った所か。
確かChrome以外にOperaなど他のブラウザでも同様の仕組みがあったはずなので、データ圧縮のオプションがあるブラウザはオンにしてみるとアクセス出来るかも知れない。
2 トラックバック