Localhost OS X 10.6'ya Birden Fazla IP Adresi Atama


9

HTTPS etkinken yerel olarak birden fazla web sitesi barındırmaya çalışıyorum, ancak bunu yapmak için yerel makinemi localhost için birden fazla IP adresi kullanacak şekilde yapılandırmam gerekiyor (sanırım). Aynı anda yerel olarak çözümlenecek birden fazla IP adresi almanın bir yolu var mı?

OS X 10.6 (standart sürüm - sunucu değil) ve MAMP sunucu kurulumunu kullanıyorum.

Teşekkürler!

Yanıtlar:


3

Bir web sunucusunda birden çok web sitesini barındırmak için birden fazla IP'ye ihtiyacınız yoktur. "Sanal Ana Bilgisayarlar" kullanmanız gerekir (ihtiyacınız varsa https ile). MAMP'ta sanal ana bilgisayarlar için bir kılavuz http://sawmac.com/mamp/virtual/


HTTPS etkinleştirilmiş birden çok siteyi barındırmak için her birinin ayrı bir IP adresine ihtiyaç duyduğuna inanıyorum. Bkz. Stackoverflow.com/questions/11217538/…
user1086746

@ user1086746 Apache, tüm önemli istemci tarayıcılarında olduğu gibi TLS Sunucu Adı Göstergesini de destekler. Windows XP olmayan hemen hemen tüm işletim sistemleri. Bağlantılı sorunuzda almış olmanız gereken cevap ayarlamaktır NameVirtualHost *:443.
Shane Madden

@Shane, aynı IP adresi üzerinden HTTPS kullanan birden çok siteyle uğraşırken hala çalışmıyor gibi görünüyor. Sonunda benim için işe yarayan şeyi yaptım.
user1086746

@ user1086746 Kesinlikle işe yarıyor; Özellikle 127.0.0.1'e bağlanıyorsanız NameVirtualHost, <VirtualHost>bloklarınızla eşleşmediğini tahmin ediyorum . Bu durumda, çalışan bir çözüm bulduğunuz için önemli değil, ancak NoNoNo haklı - ekstra IP'ye ihtiyacınız yok.
Shane Madden

Bu IP adreslerini ayarlamak fazladan bir adım olduğundan bu çalışmayı 'doğru' yapmak istiyorum. Gibi 2 NameVirtualHosts var: NameVirtualHost *:80 NameVirtualHost *:443 ve gibi vhosts kullanarak denedim: <VirtualHost _default_:443>ve <VirtualHost 127.0.0.1:443>ne de ilk listelenen vhost sonra bir HTTPS bağlantısı sağlayacaktır. İlgilenirseniz tam ssl.conf ve vhost.conf dosyalarını sağlayabilirim!
user1086746

22

Localhost takma adı için, bir 'geri döngü' oluşturmak için bu terminal komutunu kullanabilirsiniz:

ifconfig lo0 alias 127.0.0.2

Localhost takma adı kurulumuyla, birden çok HTTPS sanal ana bilgisayarı oluşturabilirsiniz:

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

İsterseniz başlangıçta bu ana bilgisayarları kök cronundan da başlatabilirsiniz:

sudo crontab -e
@reboot ifconfig lo0 alias 127.0.0.2

Umarım bu benimle aynı sorunları çalışan herkes yardımcı olur!


Kullanılması echo PASSWORDbir olduğunu korkunç bir fikir. Kaba bir alternatif kökün cronuna sudo crontab -eve gibi bir şey koymak olacaktır @reboot ifconfig lo0 alias 127.0.0.2. Kesinlikle daha zarif bir çözüm var, ancak şifrenizi düz metinde içeren herhangi bir şey kabul edilemez.
chmac

1
Vay canına, bu çok eğlenceli! Bunu ssh port yönlendirme için kullanıyorum . Bu, farklı yerel IP adreslerini dinleyerek aynı bağlantı noktasının birden çok kez iletilmesine izin verir. Örn ssh -L 127.0.0.2:443 foo:443 -L 127.0.0.3:443 beta.foo:443 user@host. Daha sonra, /etc/hostsgerekirse bu yerel IP adresleri için ana bilgisayar adlarını tanımlayabilirsiniz . Özellikle uygulamalarınız için özel bağlantı noktaları kullanamıyorsanız, web geliştirme ve test etme / uzaklaştırma için oldukça yararlı olduğu ortaya çıkıyor.
djule5

2

Linux veya Windows üzerindeki yerel ana bilgisayara hiçbir zaman ek IP adresleri eklemenize gerek yoktur. 127.0.0.0/8'deki tüm IP adreslerine ek yapılandırma olmadan varsayılan olarak yanıt verecektir:

$ 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

Bu nedenle, uygulamanızı 127.0.0.0/8 aralığından herhangi bir IP'de dinlettirin ve hazırsınız.

Misal:

Bir konsol:

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

Başka bir konsol:

$ 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!

Bir yorumcu belirtildiği gibi, ise MacOS / Darwin açıkça localhost arayüzüne IP'leri eklemek gerekli.


Geridöngü arabirimindeki takma ad olmadan dinleyemiyorum. Çalışılıyor nc -vvl 127.0.34.2 9022döner nc: Can't assign requested address. İle tanımlanan takma ad ile ifconfig lo0 alias 127.0.34.2çalışır. Bunun neden olduğu hakkında bir fikrin var mı? OSX Yosemite üzerinde çalışıyor.
djule5

1
Mac'te, yalnızca 127.0.0.1 lo0 (geri döngü) cihazıyla eşlenir. Geri döngü aygıtının çalışmasını sağlamak için manuel olarak takma ad eklemeniz gerekir. Ancak Linux'ta 127.0.0 * 'nın tümü geri döngü aygıtıyla eşlenir.
Sriram

1
Mac için: sudo ifconfig lo0 alias 127.0.0.2 up (ve benzeri, her adres için ayrı ayrı yapılmalıdır)
lilalinux
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.