Câu trả lời:
Trước tiên, bạn cần xác định địa chỉ IP hoặc tên của máy bạn đang chạy máy chủ web. Tôi giả sử bạn đang chạy máy chủ web trên máy Mac vì bạn đã gắn thẻ bài đăng của mình macosx
vào các hướng dẫn tương tự cho các máy linux. Vì vậy, trên máy Mac của bạn:
Terminal.app
. Nó ở dưới Applications->Utilities
.ifconfig
trong thiết bị đầu cuối. Điều đó cho bạn thấy tất cả các giao diện mạng trên máy. Một trong số đó là mạng mà máy của bạn được kết nối tích cực. Nếu máy Mac của bạn đang kết nối có dây thì nên en0
. Ghi lại địa chỉ sau inet
- đó phải là địa chỉ mà máy của bạn sử dụng.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
để thoát phiên nc.Nếu bạn không thể kết nối với ứng dụng của mình trên địa chỉ thực của máy chủ, điều đó có nghĩa là ứng dụng của bạn không nghe trên địa chỉ đó. Bạn sẽ cần điều tra cách thay đổi cấu hình ứng dụng của mình để sửa đổi hành vi đó. Vì tôi không biết ứng dụng nào bạn đang chạy nên tôi không thể đưa ra bất kỳ ý tưởng hay nào về điều đó.
Tìm tên máy Mac của bạn bằng cách sử dụng hostname
(tại dấu nhắc Terminal) và sử dụng tên đó trong URL của bạn. Ví dụ: http: //Tonys-iMac.local: 3000 /
Nếu vì lý do nào đó Bonjour không hoạt động trong môi trường của bạn, hãy tìm địa chỉ của Sân bay trên iMac hoặc MacBook với
ipconfig getifaddr en1
hoặc nói chung với
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
Về cơ bản, từ cài đặt tường lửa, bạn có thể cho phép một ứng dụng nhất định (ví dụ như ruby) chấp nhận các kết nối đến. Ngoài ra, để cho phép truy cập vào thế giới bên ngoài (ví dụ www), bạn sẽ cần chuyển tiếp lưu lượng truy cập đến cổng nội bộ: cổng thông qua cài đặt bộ định tuyến của bạn.
Đây là cách để làm điều này:
Mở một cổng trên bộ định tuyến (thông qua 192.168.1.1) để chuyển tiếp lưu lượng truy cập từ your_web_ip: port sang local_gateway: port
Làm xong. Bây giờ từ máy tính từ xa, hãy mở trình duyệt của bạn đến địa chỉ IP web của bạn (tìm qua http://www.whatismyip.com/ ) + cổng đích # ở trên, ví dụ 72.189.194,65:3280, điều này sẽ kết nối với 192.168.1.4 cục bộ của bạn : 3000
Lưu ý: Tôi đang chạy trên Mac OSX 10.7.5
127.0.0.1 là địa chỉ cục bộ mà mọi máy tính đều có. Bạn phải tìm ra địa chỉ IP thực (hoặc tên máy chủ / tên Bonjour) của máy là gì. Truy cập Tùy chọn hệ thống, Mạng và tra cứu IP của máy, cho cổng Ethernet nếu bạn sử dụng cáp hoặc Sân bay nếu bạn sử dụng mạng WLAN. Sau đó mở địa chỉ này cùng với: 3000 phần trong Safari trên iPhone.
Nếu ứng dụng chỉ nghe trên 127.0.0.1:3000 thì bạn không thể truy cập nó từ máy tính khác. Để làm như vậy, bạn sẽ cần sửa đổi cấu hình thành Nghe IP hoặc 0.0.0.0 (tất cả các giao diện có sẵn). Tùy chọn một.
Tùy chọn thứ hai là sử dụng proxy.
Tùy chọn thứ ba là nếu bạn có thể ssh từ iphone, bạn cũng có thể sử dụng chuyển tiếp ssh.
người dùng ssh @ host -L 3000: 127.0.0.1: 3000
Sau đó, trên iphone của bạn mở 127.0.0.1:3000
0.0.0.0
! Làm thế nào tôi có thể không nghĩ về điều đó?
Bạn đã thử cái này chưa, nó hoạt động với tôi (Tôi không liên kết với nó):
rails server -b 0.0.0.0
, sau đó trình duyệt này trên iPhone của bạn.