HTTPSを有効にして複数のWebサイトをローカルでホストしようとしていますが、これを行うには、ローカルホストに複数のIPアドレスを使用するようにローカルマシンを構成する必要があります(私はそう思います)。複数のIPアドレスを同時にローカルで解決する方法はありますか?
OS X 10.6(サーバーではなく標準版)とMAMPサーバーのセットアップを使用しています。
ありがとう!
1つのWebサーバーで複数のWebサイトをホストするために複数のIPは必要ありません。 「仮想ホスト」を使用する必要があります(必要な場合はhttpsも使用します)。ここにMAMPの仮想ホストのガイドがあります http://sawmac.com/mamp/virtual/
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
うまくいけば、これは私がした同じ問題に遭遇している人を助けるでしょう!
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です。