Kết nối thiết bị với Mac localhost Server? [đóng cửa]


99

Làm cách nào để cho phép bất kỳ thiết bị nào, chẳng hạn như iPhone, kết nối qua mạng WLAN với máy chủ localhost trên máy Mac của tôi?

Trên máy Mac, tôi đang chạy một máy chủ HTTP Node.js "Hello World" phục vụ một trang mà Safari mở thành công, tại http://localhost:1337. Và, chạy ipconfig getifaddr en1trong đầu ra của Terminal 192.168.1.9.

Tuy nhiên, Safari, trên cả iPhone và Mac, hiển thị "Safari không thể kết nối với máy chủ" khi nó cố gắng mở http://192.168.1.9:1337.

Tôi không nghĩ điều này nên liên quan đến chuyển tiếp cổng vì tôi chỉ muốn máy chủ HTTP khả dụng riêng tư, không công khai.

Có liên quan:


1
Câu hỏi đã trả lời ở đây stackoverflow.com/questions/9304058/...
Andreas Norman

Tôi đã rất ngạc nhiên không thấy một câu trả lời như thế này, mà làm việc cho tôi: stackoverflow.com/a/41857012/470749
Ryan

Câu trả lời:


55

Tôi đã từng gặp vấn đề tương tự. Tôi đã tắt WI-FI trên máy Mac và sau đó bật lại, cách này đã giải quyết được vấn đề. Nhấp vào Cài đặt> Tắt WI-FI.

Tôi đã kiểm tra nó bằng cách truy cập Safari trên iPhone và nhập tên máy chủ hoặc địa chỉ IP của mình. Ví dụ: http://<name>.localhoặchttp://10.0.1.5


kỳ lạ thay, điều này làm việc cho tôi! Cảm ơn rất nhiều. Tôi không thể hiểu tại sao.
Björn Grossmann

3
cộng một cho <name>.local- Không còn IP tĩnh để thử nghiệm!
Adam Carter

Tôi đã mất cả ngày để tìm ra điều này. Bật / tắt WiFi trên máy Mac của tôi đã khắc phục được sự cố. Kỳ dị.
oif_vet

Chuyển đổi wifi Mac cũng đã sửa nó cho tôi. Tôi tự hỏi đây là sự cố Mac hay sự cố Bộ định tuyến, hay sự cố nodejs. Bất kỳ ý tưởng?
neoneye

1
http: // <name> .local phù hợp với tôi. Để mở rộng câu trả lời, bạn có thể tìm thấy <tên> của máy mac trong Tùy chọn hệ thống> Chia sẻ . Bên dưới Tên máy tính của bạn : bạn có thể tìm thấy Máy tính trên mạng cục bộ của bạn có thể truy cập máy tính của bạn tại: <name> .local
John Lay

42

Yêu cầu máy chủ của bạn lắng nghe 0.0.0.0thay vì localhost.


1
Ahhhh cảm ơn bạn điều này đã làm việc cho tôi
aks.

1
Đối với bất kỳ ai gặp vấn đề với các câu trả lời khác - hãy thử cái này!
Trent

5
Ngoài ra, bạn có thể chỉ định '0.0.0.0' để liên kết trực tiếp với ip cục bộ. Sẽ ngăn chặn sự cố nếu bạn chuyển mạng và không được gán cùng một ip.
Cole Murray

Xin lỗi nhưng làm cách nào để bạn "bật máy chủ của mình" chính xác?
gmarais

@ColeMurray, xin lỗi vì phản hồi chậm trễ. Cảm ơn bạn đã gợi ý. Tôi vừa cập nhật câu trả lời của mình.
ma11hew28

30

Tôi chỉ có thể truy cập iphone của mình bằng cách sử dụng http://name.local:1337. Bạn phải thêm ".local" Bạn có thể tìm thấy tên máy tính của mình trong Tùy chọn hệ thống / chia sẻ / "Tên máy tính".


Tôi đã thử sử dụng địa chỉ IP có và không có tường lửa và nhiều giải pháp khác được đề xuất và đây là giải pháp duy nhất hoạt động. Tôi đang chạy một trang web localhost trên cổng 3000 với express bằng cách sử dụng nút js.
lostAtSeaJoshua

Bạn cũng có thể tìm thấy "tên" của mình bằng cách nhập whoamivào bảng điều khiển.
Jadam

1
@Jadam Kỹ thuật này không hiệu quả với tôi. Tôi nhận được hai tên khác nhau. Đối với tình huống máy chủ cục bộ, "Tên máy tính" là tên hoạt động.
moeamaya

1
Đối với tôi, tôi chưa bao giờ sử dụng name.local, tuy nhiên việc sử dụng địa chỉ IP thực tế đã hoạt động. Tôi sẽ nói rằng khắc phục sự cố bằng cách sử dụng các địa chỉ IP thực tế cụ thể thay vì sự tiện lợi của một cái gì đó như name.local chỉ thêm một lớp phức tạp khác.
MarsAndBack, 14/07/18

1
Đây phải là câu trả lời được chấp nhận. Nó không yêu cầu thiết lập hoặc sửa đổi bổ sung đối với tệp máy chủ Node.js hiện tại. @ ma11hew28
BenS 18/07/18

14

Thử bật Chia sẻ Internet:
Mở Tùy chọn Hệ thống -> Chia sẻ. Chọn Internet Sharing để bật nó lên, nó sẽ nhắc bạn xác nhận hành động của mình, chọn ok. Nếu iPhone của bạn được kết nối bằng USB, thì USB iPhone sẽ được chọn ở danh sách "chia sẻ kết nối của bạn" ở phía bên phải.
Sau đó, hãy thử truy cập máy chủ cục bộ của bạn bằng ip macs của bạn trên wifi.


9

Vấn đề của tôi cũng vậy, nhưng giải pháp là thay đổi cài đặt tường lửa. Hóa ra nút đó đã được thiết lập để chặn lưu lượng đến. Tôi biết điều gì đó đã xảy ra vì tôi đã từng có thể truy cập máy chủ localhost từ điện thoại của mình.

Đi tới Tùy chọn Hệ thống -> Bảo mật & Quyền riêng tư -> Tường lửa -> Tùy chọn Tường lửa , sau đó cuộn xuống cho đến khi bạn tìm thấy nút và đảm bảo cài đặt của nút được đặt thành Cho phép kết nối đến .

Sau khi thay đổi cài đặt, tôi có thể truy cập máy chủ localhost (cổng 3000) đang chạy trên máy Mac của mình bằng cách truy cập http://192.168.1.11:3000


Tường lửa là thủ phạm duy nhất. Mọi thứ khác đều ổn.
mythicalcoder,

Ôi cậu bé, cậu đã cứu tớ! cảm ơn!!
GoOlga

7

Tôi giải quyết một vấn đề tương tự.

  • đã kết nối Mac và iPhone với cùng một Wi-Fi
  • thay đổi cài đặt Wi-Fi của iPhone, đặt proxy http thành thủ công và thay đổi Máy chủ thành địa chỉ ip Mac của bạn và cài đặt Cổng. Cảng của tôi là 80.

hình ảnh một

hình ảnh hai

  • bạn có thể nhập vào http://<Mac ip>:<your customer server port>safari của iPhone

5

Người dùng MacOS Sierra có thể tìm thấy URL ảo được tạo tự động của họ bằng cách truy cập System Preferences > Sharingvà kiểm tra bên dưới mục nhập văn bản Tên máy tính. Để truy cập nó, hãy nhập URL này, cùng với số cổng của bạn (ví dụ: your-name.local: 8000), trên iPhone của bạn qua cùng một kết nối Wi-Fi với máy tính của bạn.


4
  1. Kết nối iPhone với máy Mac của bạn qua USB.

  2. Đi tới Tiện ích mạng (cmd + khoảng trắng và nhập "tiện ích mạng")

  3. Chuyển đến tab "Thông tin"

  4. Nhấp vào menu thả xuống có nội dung "Wi-Fi" và chọn "USB iPhone" như hình dưới đây:

    Ảnh cho Bước 4

  5. Bạn sẽ tìm thấy địa chỉ IP như "xxx.xxx.xx.xx" hoặc tương tự. Mở trình duyệt Safari trên iPhone của bạn và nhập IP_address: port_number

    Ví dụ: 169.254.72.86:3000

[LƯU Ý: Nếu trường địa chỉ IP trống, hãy đảm bảo iPhone của bạn được kết nối qua USB, thoát Tiện ích mạng, mở lại và kiểm tra địa chỉ IP.]


3

Tôi đề nghị sử dụng tên của máy tính, ví dụ http://mymac:1337/. Đối với tôi hoạt động hoàn hảo mà không cần bất kỳ cấu hình nào và tôi không phải quan tâm đến việc thay đổi địa chỉ IP do DHCP.


3

đảm bảo cả điện thoại và máy mac của bạn đều kết nối với cùng một wifi và bạn có thể sử dụng http://<machine-name>.local


2

Như đã đăng, tôi đã theo dõi câu trả lời của moeamaya nhưng chỉ cần sửa đổi nó một chút để xem tác phẩm của tôi trong thư mục Sites.

http://[name].local.~[username]/

[tên] như đã nêu (Tùy chọn hệ thống / chia sẻ / "Tên máy tính")

[tên người dùng] được tìm thấy tại:

/etc/apache2/users/username.conf

hi vọng điêu nay co ich!


Tôi có thể tìm thấy tệp username.conf trên mac ở đâu?
khoai tây

1
Nhìn trong Users / bạn thư mục trong @brumbrum gốc
Alfred

1
Bạn cũng có thể viết whoamitrong thiết bị đầu cuối
Alfred

1

Đã thử mọi thứ trên trang này, nhưng http://<name>.local:<PORT>chỉ hoạt động trên iPhone của tôi sau khi tôi thoát và khởi động lại Safari ...


0

Luôn sử dụng IP được hiển thị trong cài đặt Mạng của bạn. Nó thay đổi khi bạn thay đổi vị trí và bạn sử dụng kết nối không dây khác.

Ví dụ trong trường hợp của tôi bây giờ là: 10.0.0.5


Bạn có thể thử, nhưng nó sẽ không hoạt động trong mọi trường hợp. Bạn đã đưa ra một giả định mà tôi không thấy trong câu hỏi, về cấu hình mạng.
benc

Vâng, giả định này đã giúp tôi giải quyết vấn đề tương tự của mình ngày hôm qua. Tôi không thể tìm thấy IP để kết nối. Các lệnh đầu cuối không hoạt động. Điều hoạt động là IP trong Cài đặt mạng. (Tôi đang chạy apache máy chủ cục bộ trên mac)
edgarascom

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.