[解決済み】同じネットワーク上の他のコンピューターからこのローカルホストに接続するにはどうすればよいですか?
質問
現在、あるプロジェクトに取り組んでおり、自宅の2台のラップトップで、一方のラップトップがもう一方のラップトップのlocalhostに接続するテストをしたいと思います。私はXAMPPを使用しています。どうすればよいでしょうか?
解決方法は?
それは間違いなく可能です。ここでは、Apacheを使った一般的なケースを取り上げます。
たとえば、あなたが symfony2 の大ファンであり、symfony の Web サイトを
http://symfony.local/
4台のコンピュータ(ウェブサイトをホストしているメインコンピュータと、メインコンピュータに接続されているMac、Windows、Linuxディストロ)から、ワイヤレスかどうかにかかわらず、アクセスすることができます。
一般的なスケッチ
1 バーチャルホストの設定 :
まず、apacheにバーチャルホストを設定する必要があります。
httpd-vhosts.conf
ファイルを作成します。について
XAMP
このファイルはここにあります。
C:\xampp\apache\conf\extra\httpd-vhosts.conf
. について
MAMP
このファイルは、ここにあります。
Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
.
このステップ
を処理するために、コンピュータ上のWebサーバーを準備します。
symfony.local
リクエストに対応します。バーチャルホストの名前と、Webサイトのルート/メインフォルダを提供する必要があります。これを行うには、そのファイルの末尾に次の行を追加します。を変更する必要があります。
DocumentRoot
を、あなたのメインフォルダがある場所にコピーしてください。ここでは
/Applications/MAMP/htdocs/Symfony/
をウェブサイトのルートとして使用します。
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/Symfony/"
ServerName symfony.local
</VirtualHost>
2 hostsファイルの設定 :
クライアント(この場合はブラウザ)が
symfony.local
の本当の意味は、あなたのコンピュータのhostsファイルを編集する必要があります。ブラウザでURLを入力するたびに、コンピュータはその意味を理解しようとするのです
symfony.local
は、コンピュータにとって何の意味もありません。そのため、コンピュータはこの名前を解決しようとします。
symfony.local
をIPアドレスに変換します。これは、まずあなたのコンピュータのhostsファイルを調べて、あなたがアドレスバーに入力したものとIPアドレスが一致するかどうかを確認することによって行われます。一致しない場合は、次のように尋ねます。
DNSサーバー
. ここで、hostsファイルに以下のように追記するのがコツです。
-
について
MAC
にある場合、このファイルは
/private/etc/hosts
; -
について
LINUX
にある場合、このファイルは
/etc/hosts
; -
について
WINDOWS
にある場合、このファイルは
\Windows\system32\private\etc\hosts
; -
について
WINDOWS 7
にある場合、このファイルは
\Windows\system32\drivers\etc\hosts
; -
について
WINDOWS 10
にある場合、このファイルは
\Windows\system32\drivers\etc\hosts
;
ホストファイル
##
# Host Database
# localhost is used to configure the loopback interface
##
#...
127.0.0.1 symfony.local
これから、このコンピューターで symfony.local と入力するたびに、あなたのコンピューターは symfony.local に接続するためにループバックインターフェイスを利用します。これはあなたが localhost (127.0.0.1) で作業したいことを理解します。
3
アクセス方法
symfony.local
他のコンピュータから
:
ようやく本題の質問にたどり着きました。
<ブロッククオート他のコンピュータから自分のウェブサイトにアクセスするにはどうすればよいのでしょうか?
さて、これはもう簡単です! 他のコンピュータに、どのようにして
symfony.local
! どうすればいいんだ?
3a ウェブサイトをホストしているコンピュータのIPアドレスを取得する :
まず、ウェブサイトをホストしているコンピューター(一番最初から作業しているコンピューター)のIPアドレスを知る必要があります。ターミナルで
MAC
と
LINUX
タイプ
ifconfig |grep inet
について
WINDOWS
タイプ
ipconfig
. このコンピュータのIPアドレスを次のようにします。
192.168.1.5
.
3b アクセスしようとしているコンピュータのhostsファイルを編集します。 :
もう一度、オン
MAC
にある場合、このファイルは
/private/etc/hosts
で
LINUX
である。
/etc/hosts
そして
WINDOWS
である。
\Windows\system32\private\etc\hosts
(もし
ウインドウズ7
にある場合、このファイルは
\Windows\system32\drivers\etc\hosts
).. 今度は、アクセス/会話しようとしているコンピュータのIPアドレスを使うのがコツです。
##
# Host Database
# localhost is used to configure the loopback interface
##
#...
192.168.1.5 symfony.local
4 最後に、ブラウザで結果をお楽しみください
ブラウザで、次のように入力します。
http://symfony.local
を使えば、異なるコンピュータであなたのウェブサイトを美しく見ることができます! OSXユーザーであれば、Virtual Boxを使ってInternet ExplorerでWebサイトをテストすることができます(Windowsコンピュータを使いたくない場合)。これについては
OSXでWindows/IEのテスト環境を構築する
.
モバイル端末からのローカルホストへのアクセスも可能です
モバイルデバイスからローカルホストのウェブサイトにアクセスする方法について疑問に思うかもしれません。場合によっては、お使いのデバイス(iPhone、iPad...)のhostsファイルを変更することができません(脱獄を除く)。
さて、解決策は、ウェブサイトをホストしているマシンにプロキシサーバーをインストールし、iphoneからそのプロキシに接続することです。これは、実際には非常によく、次の記事で説明されており、セットアップにそれほど長い時間ではありません。
Macの場合、おすすめは モバイル端末でローカルホスト名を使用したMac OS XのWebサイトのテスト : を使用する スクイッドマン をプロキシとして使用します。これは100%無料のソリューションです。また、人によっては シャルル をプロキシサーバーとして使用することができますが、50ドルかかります。
Linuxでは、上記のMac OSの方法に合わせるために スクイッド をプロキシサーバーとして使用します。
Windowsでは フィドラー . 解決方法は、以下の投稿に記載されています。 FiddlerでiPhoneのトラフィックを監視する
2017/11/23編集 ちょっと、Hostsファイルを修正したくないんだけど...。
<ブロッククオート@Dreです。他のコンピュータからウェブサイトにアクセスするために可能な方法はありますか? ホストファイルを手動で編集する必要があります。 にアクセスすることができます。
これは興味深い質問で、OPの質問と関連しているので、お手伝いさせてください。
あなたのウェブサイトがどこでホストされているか、すべてのマシンが知ることができるように、ネットワーク上で変更を行う必要があります。 ほとんどの家庭用ルーターは、そのようなことはしていません を実行する必要があります。 DNSサーバー をネットワーク上で使用することができます。
ルーター(192.168.1.1)があると仮定しましょう。このルーターにはDHCPサーバーがあり、ネットワーク上の100台のマシンにIPアドレスを割り振っています。
さて、上記と同じように、同じネットワーク上に、以下のマシンがあるとします。
192.168.1.5
あなたのウェブサイトがあります。そのマシンを
ポンペイ
.
$ echo $HOSTNAME
pompei
前と同じように、そのマシン
ポンペイ
で
192.168.1.5
を実行しています。
HTTPサーバー
あなたのウェブサイトを提供する
symfony.local
.
すべてのマシンが知るために
symfony.local
がホストされているのは
ポンペイ
の場所を知っているネットワーク上のカスタム DNS サーバーが必要になります。
symfony.local
がホストされています。ネットワーク上のデバイスは
ポンペイ
を内部で使用します。
シンプルな3ステップ。
ステップ1:DNSサーバー
ネットワーク上にDNSサーバを設置します。ここでは ポンペイ を使い、便宜上、次のようなものを使用します。 dnsmasq .
Dnsmasqが提供するもの ドメインネームシステム(DNS)フォワーダ , ... .
私たちが望むのは
ポンペイ
DNSリクエストを処理するためにDNSmasqを実行します。
Hey, pompei, where is symfony.local
と応答します。
Hey, sure think, it is on 192.168.1.5 but don't take my word for it
.
dnsmasq をインストールします。dnsmasq の設定ファイルは通常
/etc/dnsmasq.conf
は、お使いの環境によって異なります。
私自身は
no-resolv
とグーグルサーバー
server=8.8.8.8 server=8.8.8.4
.
*注 etc/hosts ファイルを変更した場合は、必ず DNSmasq を再起動するようにしてください。
ステップ2:ファイアウォール
作業するには
ポンペイ
は、ポート53からとポート53に向かう「ドメイン」パケットの受信と送信を許可する必要があります。もちろん! これらはDNSパケットであり、もし
ポンペイ
を許可しない場合、DNSサーバーに到達する方法は全くありません。53番ポートを開けてみてください。Linuxでは、通常、次のようにします。
iptables
を使用します。
私が思いついたことを共有しますが、ファイアウォールに潜り込み、すべてをよく理解する必要がある可能性が非常に高いです。
#
# Allow outbound DNS port 53
#
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
ステップ3:ルーター
ルーターにDNSサーバーがあることを伝える
192.168.1.5
今すぐ ほとんどの場合、ルーターにログインして手動で簡単に変更することができます。
以上で、あるマシンにて
symfony.local
を入力すると
DNSサーバー
ここで
symfony.local
がホストされており、DNS サーバーからその答えを受け取るとすぐに、適切な
HTTPリクエスト
への
ポンペイ
について
192.168.1.5
.
これで遊んでみて、楽しんでください。この2つのステップが主なガイドラインなので、初めてやる場合はデバッグして数時間費やす必要があります。これはもう少し高度なネットワークであるとしましょう、プライマリDNSサーバ、セカンダリDNSサーバがあります。 などです。 . 頑張ってください。
関連
-
[解決済み】ngrokがReact devサーバーに接続しようとすると、無効なホストヘッダが表示される。
-
[解決済み] ローカルホストでreCAPTCHAを使用する
-
[解決済み] WAMPサーバ、localhostが動作しない
-
[解決済み] localhostと0.0.0.0のIPV6とは何ですか?
-
[解決済み] Windowsでlocalhostのポートを使用中のプロセスを強制終了するにはどうすればよいですか?
-
[解決済み] Android Emulatorから私のhttp://localhost Webサーバーに接続する方法。
-
[解決済み】iPhoneのブラウザからlocalhostで動作するWebサイトにアクセスする方法
-
[解決済み】同じネットワーク上の他のコンピューターからこのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] LANネットワーク上の他のコンピュータからlocalhost (xampp)にアクセスする - 方法は?
-
[解決済み] インターネットからlocalhostにアクセスする [終了しました]。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Microsoft Loopback Adapterの目的は何ですか?
-
[解決済み] WAMPです。URLにhttp://localhost/ がない、WAMPプロジェクトのリンクが正しくない
-
[解決済み] WAMPサーバ、localhostが動作しない
-
[解決済み] localhostと0.0.0.0のIPV6とは何ですか?
-
[解決済み] VirtualBoxの仮想マシンからlocalhostのアドレスを取得する【終了しました
-
[解決済み】同じネットワーク上の他のコンピューターからこのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] LANネットワーク上の他のコンピュータからlocalhost (xampp)にアクセスする - 方法は?
-
[解決済み] インターネットからlocalhostにアクセスする [終了しました]。