Burada, her biri doğru şekilde yapılandırılması gereken en az üç ayrı bileşen var.
Ray bağlama adresi
Ağ bağlantılarını almak için Rails (veya başka bir sunucu uygulaması) açıldığında, hem bir IP'ye hem de bağlantı noktasına bağlanır. Gelen bir istek her ikisiyle de eşleşmezse, bağlantı kabul edilmez. Gönderen rails server --help
:
Usage: rails server [mongrel, thin etc] [options]
-p, --port=port Runs Rails on the specified port.
Default: 3000
-b, --binding=IP Binds Rails to the specified IP.
Default: localhost
...
Bu nedenle, Rails varsayılan olarak yalnızca localhost
(geri döngü) ağ bağdaştırıcısına (çağrılan lo
) gönderilen istekleri kabul eder . Bu bağdaştırıcıya yalnızca aynı bilgisayardan erişilebildiğinden, kabul edeceği tek istek Debian VM'nin kendisinden olacaktır: test için iyi ve güvenli, ancak üretim için, hatta farklı bir bilgisayardan test etmek için kullanışlı değil.
Rails'inizin başka bir bilgisayardan (Windows 7 ana bilgisayarınız dahil) erişilebilir olmasını istiyorsanız, Rails'e Debian'ın dışarıdan erişilebilen IP adreslerine bağlanmasını söylemeniz gerekir (aşağıya bakın).
Bununla birlikte, daha kolay bir yol, Rails'e özel IP adresine bağlanmasını söylemektir 0.0.0.0
, bu da herhangi bir ağ adaptörü anlamına gelir . Yani, Rails sunucunuzu şu şekilde başlatmak:
rails server -p 80 -b 0.0.0.0
web sitenizi VM'nizi ağda görebilen herkes için erişilebilir hale getirecektir.
Bu, diğer iki bileşeni çalıştırsanız bile, sizi hala berbat eden şeydir.
VM IP adresi
Tarayıcınızı kendi ayrık bilgisayarı olan Debian sanal makinesine yönlendirmeniz gerekir.
Temel kural, localhost
her zaman aynı bilgisayara atıfta bulunmasıdır. Ancak, ağ oluşturma amacıyla, Debian VM'niz kendi ayrı bilgisayarıdır. Windows 7 ana makinenizde bir web tarayıcısı kullanıyorsanız, localhost
her zaman Windows 7'nize atıfta bulunacak ve başka bir şey olmayacaktır.
Burada iki seçeneğiniz var:
VirtualBox VM adaptörünü Köprü moduna ayarlayın (sorunuzda belirtildiği gibi). Bu, Debian'ınızı doğrudan Windows 7 ana makinenizle aynı dış / ev / iş ağına koyacaktır. Daha sonra Debian VM'nizin IP'sini çalıştırarak belirleyebilirsiniz ifconfig
. IP'nizi eth0
veya eth<something>
adaptörünüzü arayın . Bunu tarayıcınızın adres çubuğuna takın.
Bir NAT bağdaştırıcısı ve VirtualBox bağlantı noktası iletme kullanın . IMO bu daha karmaşık.
Debian güvenlik duvarı
Debian üzerinde çalıştığımdan beri bir süre geçti, bu yüzden mevcut varsayılanların ne olduğunu bilmiyorum, ancak yukarıdaki iki şey işe yaramazsa, bu göz atmaya değer olabilir. Debian bir güvenlik duvarı çalıştırıyorsa, başka bir makineden erişmek istediğiniz bağlantı noktalarını açmanız gerekir.
Bu yardımcı olur umarım :)