会社行きたくなかったんです。

自由になりたくて会社辞めました

IT Tips

LAN内部からドメインでアクセスする方法

更新日:

自宅のPCをWEBサーバーにして、ドメインを割り当てている場合、
外部から(インターネット経由)では、ドメイン名でサーバーにアクセスできますが、サーバーと同じローカルエリアネットワーク内のPCからは、プライベートIPアドレスでしか接続できません。

スポンサーリンク

この問題を解決する方法を説明します。

「hosts 」ファイルをメモ帳で開きます。
場所は「C:\Windows\System32\drivers\etc\hosts」です。

プライベートIPアドレス ドメイン名

を追記します。

例えば、

192.168.0.100 domain.com

みたいな感じです。

「hosts 」ファイルの上書きでアクセス拒否される場合は、まず、メモ帳を「管理者として実行」します。
そして、
ファイル→開く
で、「C:\Windows\System32\drivers\etc\hosts」を開いて編集し、上書き保存します。

Windows7、Windows10で試してみて成功しました。

Androidエミュレータで、ドメイン名でアクセスできるか試してみた所、ダメでした。
Androidエミュレータの「hosts 」ファイルも書き換える必要があるようです。

Visual StudioでXamarinを使っています。

Androidエミュレータの「hosts 」ファイルに追記する手順(できなかった)

Visual Studioで
ツール>Android>Android adb コマンドプロンプト

pullで、PC内のフォルダにandroidのhostsファイルをコピーすることができます。
C:\Tempというフォルダを作って、pullしてみました。

adb コマンドプロンプトに
「adb pull /system/etc/hosts C:\Temp」
と入力して、Enterでandroidのhostsファイルを 取得できました。

hostsファイルを開いてみたらこうなっていました。

 

プライベートIPアドレス ドメイン名

を追記します。

そして、pushコマンドでhostsファイル送れば良いということなのですが…

「adb push C:\Temp/hosts /system/etc/hosts」

と入力して、Enterキーを押してみたら。

failed to copy 'C:\Temp/hosts' to '/system/etc/hosts': Read-only file system

というエラーが出てしまいました。

いろいろ調べてみましたが、結局hosts ファイルを上書き可能にするためには、root化する必要があるようです。

エミュレータで試してから実機も、と考えていたのですが、実機はroot化したくないのであきらめました。

権限さえ与えることができれば、echoコマンドで直接追記もできるみたいです。

こんな感じです。

↓↓↓

adb shell "echo プライベートIPアドレス ドメイン名 >> /system/etc/hosts"

 

-IT, Tips

Copyright© 自由になりたくて会社辞めました , 2024 AllRights Reserved Powered by AFFINGER4.