Connect Device to Mac localhost Server?

IphoneLocalhostLanWifiLocalserver

Iphone Problem Overview


How do I allow any device, e.g., iPhone, to connect over a WLAN to my Mac's localhost server?

On my Mac, I'm running a "Hello World" HTTP Node.js server that serves a page, which Safari opens successfully, at http://localhost:1337. And, running ipconfig getifaddr en1 in Terminal outputs 192.168.1.9.

But, Safari, on both iPhone & Mac, displays "Safari can't connect to the server" when it tries to open http://192.168.1.9:1337.

I don't think this should involve port forwarding because I only want the HTTP server to be available privately, not publicly.

Related:

Iphone Solutions


Solution 1 - Iphone

I had the same problem. I turned off my WI-FI on my Mac and then turned it on again, which solved the problem. Click Settings > Turn WI-FI Off.

I tested it by going to Safari on my iPhone and entering my host name or IP address. For example: http://<name>.local or http://10.0.1.5

Solution 2 - Iphone

Have your server listen on 0.0.0.0 instead of localhost.

Solution 3 - Iphone

I was only able to access my iphone using http://name.local:1337. You have to add the ".local" You can find your computer name under System Preferences/sharing/"Computer Name".

Solution 4 - Iphone

Try enabling Internet Sharing:
Open System Preferences -> Sharing. Check Internet Sharing to turn it on, it will prompt you to confirm your action, select ok. If your iPhone is connected using USB, the iPhone USB is checked at the "sharing your connection" list on the right side.
After this, try accessing your local server using your macs ip on wifi.

Solution 5 - Iphone

My problem was the same, but the solution had to do with changing a firewall setting. It turned out that node was set to block incoming traffic. I knew something was up because I used to be able to get to my localhost server from my phone.

Go to System Preferences -> Security & Privacy -> Firewall -> Firewall Options, and then scroll down until you find node and make sure node's setting is set to Allow incoming connections.

After changing the setting, I could reach the localhost server (port 3000) running on my Mac by going to http://192.168.1.11:3000

Solution 6 - Iphone

I solve a similar problem.

  • connected Mac and iPhone to the same Wi-Fi
  • change the iPhone Wi-Fi setting, set http proxy to manual and change the Server to you Mac ip address and setting the Port. My Port is 80.

image one

image two

  • you can input http://<Mac ip>:<your customer server port> in iPhone's safari

Solution 7 - Iphone

MacOS Sierra users can find their auto-generated vanity URL by going to System Preferences > Sharing and checking beneath the Computer Name text input. To access it, enter this URL, plus your port number (e.g. your-name.local:8000), on your iPhone over the same Wi-Fi connection as your computer.

Solution 8 - Iphone

  1. Connect your iPhone to your Mac via USB.

  2. Go to Network Utility (cmd+space and type "network utility")

  3. Go to the "Info" tab

  4. Click on the drop down menu that says "Wi-Fi" and select "iPhone USB" as shown here:

Photo for Step 4

  1. You'll find an IP address like "xxx.xxx.xx.xx" or similar. Open Safari browser on your iPhone and enter IP_address:port_number

Example: 169.254.72.86:3000

[NOTE: If the IP address field is blank, make sure your iPhone is connected via USB, quit Network Utility, open it again and check for the IP address.]

Solution 9 - Iphone

make sure you phone and mac machine both connected to the same wifi and you good to go your http://<machine-name>.local

Solution 10 - Iphone

I suggest to use the name of the computer, e.g.http://mymac:1337/. Works for me perfect without any configuration required and I don't have to care about changing IP addresses due DHCP.

Solution 11 - Iphone

As posted I followed moeamaya's answer but needed to modify it just a bit to see my work in the Sites directory.

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

[name] is as stated already (System Preferences/sharing/"Computer Name")

[username] is found at:

/etc/apache2/users/username.conf

hope this helps!

Solution 12 - Iphone

Tried everything on this page, but http://<name>.local:<PORT> only worked on my iPhone after I quit and restarted Safari...

Solution 13 - Iphone

Always use the IP that is shown in your Network settings. It changes when you change location and you use another wireless connection.

For example in my case now it is: 10.0.0.5

Solution 14 - Iphone

also, make sure the server is listening for ur mobile device! for example, by default jekyll only answers requests made by the host machine. this solved my problem:

https://stackoverflow.com/questions/16608466/connect-to-a-locally-built-jekyll-server-using-mobile-devices-in-the-lan

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionma11hew28View Question on Stackoverflow
Solution 1 - IphonejohnniebView Answer on Stackoverflow
Solution 2 - Iphonema11hew28View Answer on Stackoverflow
Solution 3 - IphonemoeamayaView Answer on Stackoverflow
Solution 4 - IphonemaqbulhView Answer on Stackoverflow
Solution 5 - IphoneDavid RajcokView Answer on Stackoverflow
Solution 6 - IphoneSinterView Answer on Stackoverflow
Solution 7 - IphonebrogrammerView Answer on Stackoverflow
Solution 8 - IphonearjunkmView Answer on Stackoverflow
Solution 9 - IphoneMuhaiminView Answer on Stackoverflow
Solution 10 - IphonestiebitzhoferView Answer on Stackoverflow
Solution 11 - IphonenaiJennView Answer on Stackoverflow
Solution 12 - IphonephysicsAIView Answer on Stackoverflow
Solution 13 - IphoneedgarascomView Answer on Stackoverflow
Solution 14 - IphoneTomView Answer on Stackoverflow