web-dev-qa-db-ja.com

localhost OS X 10.6への複数のIPアドレスの割り当て

HTTPSを有効にして複数のWebサイトをローカルでホストしようとしていますが、これを行うには、ローカルホストに複数のIPアドレスを使用するようにローカルマシンを構成する必要があります(私はそう思います)。複数のIPアドレスを同時にローカルで解決する方法はありますか?

OS X 10.6(サーバーではなく標準版)とMAMPサーバーのセットアップを使用しています。

ありがとう!

9
user1086746

1つのWebサーバーで複数のWebサイトをホストするために複数のIPは必要ありません。 「仮想ホスト」を使用する必要があります(必要な場合はhttpsも使用します)。ここにMAMPの仮想ホストのガイドがあります http://sawmac.com/mamp/virtual/

3
NoNoNo

Localhostにエイリアスを設定するには、次の端末コマンドを使用して「ループバック」を作成できます。

ifconfig lo0 alias 127.0.0.2

Localhostエイリアスを設定すると、複数のHTTPS仮想ホストを作成できます。

<VirtualHost 127.0.0.1:443> ...... </VirtualHost>
<VirtualHost 127.0.0.2:443> ...... </VirtualHost>

必要に応じて、ルートのcronを使用して、起動時にこれらのホストを初期化することもできます。

Sudo crontab -e
@reboot ifconfig lo0 alias 127.0.0.2

うまくいけば、これは私がした同じ問題に遭遇している人を助けるでしょう!

22
user1086746

LinuxまたはWindowsのローカルホストにIPアドレスを追加する必要はありません。デフォルトでは、追加の構成なしで、127.0.0.0/8からのすべてのIPアドレスに応答します。

$ ping 127.254.0.100
PING 127.254.0.100 (127.254.0.100) 56(84) bytes of data.
64 bytes from 127.254.0.100: icmp_seq=1 ttl=64 time=0.026 ms

したがって、アプリケーションに127.0.0.0/8の範囲のIPをリッスンさせるだけで問題ありません。

例:

1つのコンソール:

$ nc -vvl 127.0.34.2 9022
Connection from 127.0.0.1 port 9022 [tcp/*] accepted
Hello

別のコンソール:

$ echo Hello | nc -vv 127.0.34.1 9022
nc: connect to 127.0.34.1 port 9022 (tcp) failed: Connection refused
$ echo Hello | nc -vv 127.0.34.2 9022
Connection to 127.0.34.2 9022 port [tcp/*] succeeded!

コメンターが述べたように、MacOS/DarwinでlocalhostインターフェースにIPを明示的に追加する必要があるのはisです。

2