Làm cách nào để truy cập vào máy chủ từ máy khách? [đóng cửa]


124

Tôi vừa tạo một máy ảo Windows XP mới trên máy Mac của mình bằng VMware Fusion. VM đang sử dụng NAT để chia sẻ kết nối internet của máy chủ.

Làm cách nào để tôi truy cập ứng dụng Rails, có thể truy cập trên chính Mac bằng cách sử dụng http://localhost:3000?

Câu trả lời:


134

Trên máy XP, tìm địa chỉ IP của bạn bằng cách vào dấu nhắc lệnh và nhập ipconfig. Hãy thử thay thế số cuối bằng 1 hoặc 2. Ví dụ: nếu địa chỉ IP của bạn là 192.168.78.128, hãy sử dụng http://192.168.78.1:3000 .


3
tiết kiệm cho tôi hàng giờ faff - vỗ lưng cho mình!
iancrowther

Tôi đang sử dụng Lion với tư cách là Chủ nhà và Win7 với tư cách là Khách, nhưng tôi không thể truy cập ứng dụng rails của mình trên máy Mac bằng cách này. Tại sao?
larryzhao

1
nếu địa chỉ IP mạng cục bộ của bạn là: 192.168.1.122 thì bạn nên sử dụng 192.168.1.122:3000 và nó sẽ hoạt động
dbslone

6
Lưu ý quan trọng: Các giải pháp này không hoạt động nếu bạn được kết nối bằng VPN.
Harshay Buradkar

80

Bạn có thể sử dụng tên máy chủ Mac của mình (hoặc bất kỳ máy Mac nào khác trên mạng) tên 'cục bộ':

http: //macname.local: 3000 /

trong đó macname là tên mạng của máy chủ của bạn (hoặc mong muốn khác) Mac.


1
Tuyệt vời. Tôi không biết về bit .local. Cảm ơn!
ngược lại

điều này chỉ khả dụng nếu VM được cấu hình trên mac đó? Tôi đã chuyển một VM khác từ một nơi khác và computername.local không hoạt động với tôi
spankmaster79

7
".local" là một thứ chỉ dành cho mac. Khi bạn mở System Preferences / Sharing, nó thực sự hiển thị cho bạn tên máy tính và bên dưới nó lưu ý rằng để truy cập nó trên mạng cục bộ, bạn nên sử dụng computername.local - điều này áp dụng cho kết nối với chia sẻ tệp, chia sẻ web, v.v.
Johnus

1
Điều này dường như yêu cầu mạng VMWare được cấu hình là NATted (hoặc, có lẽ là cầu nối); cấu hình 'chỉ lưu trữ' dẫn đến hết thời gian kết nối mạng. Tôi không rõ tại sao lại như vậy, nhưng ...
Norman Gray

Tôi đã từng sử dụng phương pháp này và nó hoạt động rất tốt! Nhưng gần đây nó đã ngừng hoạt động, và tôi không chắc tại sao. Có thể nó dừng lại với bản cập nhật cho Snow Leopard hoặc có thể nó đã dừng với bản cập nhật cho Fusion. Bây giờ machostname.local của tôi giải quyết đến một địa chỉ công cộng trên internet.
Jason

14

Đối với khách truy cập trong tương lai: khi bạn đã tìm ra địa chỉ IP, bạn có thể thêm một mục vào tệp máy chủ Windows, được đặt tại C: \ Windows \ system32 \ driver \ etc \ hosts, để ánh xạ địa chỉ IP thành một tên máy chủ (ảo). Thêm một dòng như thế này:

192.168.78.1   myrubyapp

Bây giờ bạn có thể truy cập trang web trong IE tại địa chỉ http: // myrubyapp: 3000

Nếu bạn sử dụng máy chủ ảo trong Apache, bạn sẽ cần điều này để cung cấp tên máy chủ chính xác.


IP có được giữ cố định trong các phiên trên NAT không? Tôi nghi ngờ điều đó.
Lothar

10

Vì câu hỏi này khá cũ và đề cập đến XP, đây là một giải pháp thay thế cho các HĐH mới;


Nếu bạn khuấy động Vista hoặc Windows 7 với tư cách là Hệ điều hành khách và bạn có thiết lập Máy chủ ảo trong Máy chủ thông qua Apache, thì đây là cách thiết lập:

Trong Hệ điều hành máy chủ, bạn cần đảm bảo kết nối mạng được thực hiện thông qua NAT;

  1. Nhấp chuột phải vào biểu tượng mạng trong cửa sổ VM (dưới cùng bên phải)
  2. Chọn "NAT"
  3. Chọn "Kết nối"
  4. Đợi hệ điều hành khách kết nối lại với mạng

Sau đó, trong hệ điều hành khách;

  1. Nhấp vào Bắt đầu> Mạng> Trung tâm Mạng & Chia sẻ
  2. Nhấp vào "Xem trạng thái" bên cạnh kết nối mạng
  3. Nhấp vào "Chi tiết"
  4. Tìm "Cổng mặc định IPv4"
  5. Mở Wordpad
  6. Chỉnh sửa C: \ Windows \ System32 \ driver \ etc \ hosts
  7. Thêm một dòng vào tệp, chẳng hạn như:

    [default-gateway-IP] www.example.com
    [default-gateway-IP] example.com
    
  8. Tiết kiệm

  9. Hãy thử mở http://www.example.comhoặc http://example.comtrong IE


Điều đó rất kỳ lạ nhưng tôi đã phải trừ 1 từ ip gateway. Trên thực tế, nó đã giúp tôi tìm ra bằng cách ping máy chủ: ping <my-mac-host>.localvà đặt ip đó vào tệp máy chủ
Cristian

1
Thay cho các bước 1-4 trong Hệ điều hành khách, bạn cũng có thể mở Đối thoại Chạy, nhập cmd+ <enter>, sau đó nhập: ipconfig /all+ <enter> và tìm "Cổng mặc định" ở đó.
Jess Telford

Cảm ơn bạn! ipconfig /allcũng nhanh hơn
Emerson Rocha

9
  1. Trên máy XP, Bắt đầu -> Kết nối với -> Hiển thị tất cả các kết nối.
  2. Nhấp đúp chuột vào Kết nối khu vực địa phương.
  3. Nhấp vào tab Hỗ trợ.
  4. Lấy IP Cổng mặc định <gateway-ip> và nhấn http: // <gateway-ip>: 3000 trong trình duyệt của bạn.

Gotcha: Bạn phải có http: // trong địa chỉ hoặc IE sẽ cung cấp cho bạn "Trang web không thể hiển thị".


6

Đối với Django, điều quan trọng là phải làm như sau:

./manage.py máy chủ chạy [default-gateway-IP]: 8000

bởi vì

https://docs.djangoproject.com/en/dev/ref/django-admin/

Lưu ý rằng địa chỉ IP mặc định, 127.0.0.1, không thể truy cập được từ các máy khác trong mạng của bạn. Để làm cho máy chủ phát triển của bạn có thể xem được với các máy khác trên mạng, hãy sử dụng địa chỉ IP của chính nó (ví dụ 192.168.2.1) hoặc 0.0.0.0 hoặc :: (có bật IPv6).


5

Tôi chỉ mất một giờ cố gắng để làm việc này theo các bước trên SO nhưng cuối cùng thì tôi cũng hơi khác một chút.

Cài đặt VMWare

1.) Đặt kết nối VMWare thành NAT
2.) chạy> cmd> ipconfig> sao chép giá trị Cổng mặc định
3.) chỉnh sửa tệp máy chủ (c: / Windows / System32 / driver / etc / hosts)

  • thêm phần này vào tập tin máy chủ của bạn:

<gateway-ip> yourserver.local

Cài đặt OS X

1.) chỉnh sửa cấu hình Apache (ví dụ: sudo vim /etc/apache2/httpd.conf)

  • thêm mục vhost này vào tệp httpd.conf của bạn:
NameVirtualhost 127.0.0.1
<Virtualhost 127.0.0.1>
    DocumentRoot "/ path / to / your / project"
    Tên máy chủ của bạn. Máy chủ

    <Thư mục "/ đường dẫn / đến / của bạn / dự án">
        Cho phép tất cả
        Tùy chọn Tất cả
    </ Thư mục>
</ Virtualhost>
  • lưu và thoát (wq)

2.) Chỉnh sửa tệp máy chủ của bạn (sudo vim / etc / hosts)

  • thêm dòng này vào tập tin máy chủ của bạn

127.0.0.1 yourserver.local

3.) Khởi động lại Apache (khởi động lại sudo apachectl)

Tôi thấy rằng tôi phải chuyển cài đặt kết nối trên VMWare để khởi động lại kết nối trước khi các cài đặt này hoạt động với tôi. Tôi hi vọng cái này giúp được.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.