How to serve a website over a wifi without internet? - webserver

I want to serve a website over an open wifi connection but I do not want this wifi connection to have access to the internet. Is this possible and how would I go about doing it.
I have setup websites locally and have gotten access in the browser through localhost or the IP address but I am not sure how I would go about setting up a webserver and serving the website via wifi.
Any insight on this?

you can access your machine's localhost via any computer easily, as long as that computer is connected to the said wifi.
get your computer name, and access it from other machine like this:
http://<your_computer_name_here:port_if_applicable>/website_folder_name
I do this to test my websites on mac and windows at home. My windows machine is called "The-Genius" and I access it via my mac like this:
http://The-Genius/Test/
which leads to the IIS.. if I want to access Apache, which is on port 78, I do this:
http://The-Genius:78/Test/
Hope it helps..

If you are using a wifi router, you don't have to do anything to get this to work. Whenever a client connects over wifi, they will be able to type in your webserver's IP address to see the website. If you want to use a DNS name then you might be able to set up the DNS names on the router itself.

Based on #LocustHorde's answer,
I tired the pc's IP address instead of using the pc name.
This worked fine for me...
http://172.168.1.21:8080/test/aa.php

Related

Why can't I enter the url on my phone's browser to view my live site?

I use an extension called Live Server in Visual Studio Code. When I run live, the browser opens and the url is http://127.0.0.1:5500/index.html. Why can't I open this url on my phone's browser to see the live site on the phone. Is there a way to do this (Live reload on phone and browser)?
Note: I also develop using ionic and when I ionic serve I can see it on browser and when I open the ionic dev app (not ionic view!), I can see the live app on the phone. I can view it on multiple devices with the condition of all devices being in the same network which I am fine with.
127.0.0.1 is a special-purpose IPv4 address reserved for loopback purposes. That is, this IP refers to your computer itself.
By entering http://127.0.0.1:5500/index.html in your browser, you're requesting web page within your computer.
In normal case, your computer will be in a NAT network (under same wi-fi AP for instance), and you'll be assigned with a virtual IP. Normally it's 192.168.x.x.
You may enter the following command in your command prompt to see your IP address.
ipconfig
If you're using Mac or Linux, use this instead.
ifconfig
As a result, under your network interface card, you'll get your IP Address.
If the IP address belongs to virtual IP, then you may access it with your phone using
http://< Your IP Address >:5500/index.html
If it's not virtual IP, it is Public IP. Then, you'll have to configure appropriate Firewall settings under this circumstance.
Hope this will help.
You cannot open the same url on your phone, because that url host (127.0.0.1) refers to the localhost (the same machine).
If your phone and server are on the same network, you can replace the current host with the servers local IP.
So if your servers local IP is: 192.168.0.36
the URL you enter in your phone should be http://192.168.0.36:5500/index.html.
I had a same problem.
Solution: Control Panel -> Windows Defender Firewall -> Allow an app or feature through Windows Defender Firewall -> Allowed "code.exe" app.
Run ipconfig and find your private IP.
Make sure your phone is on the same network.
go to http://192.168.0.***:5500/
Open Live server's settings.json and add these two settings "liveServer.settings.useLocalIp": true and "liveServer.settings.host": "localhost". Then type your localhost ip in your mobile browser (in my case it was 192.168.0.110) with the rest of the Live server URL i.e. 192.168.0.110:5500/index.html. This worked for me.
Let me clear this out for you. we call localhost or 127.0.0.1 as loop backs. which will itself point to the same machine(means that particular service should also be hosted in the same machine). what Microsoft did with visual studio live share is that if have the live share extension it will create a reverse proxy between the host(where the server is hosted) and the target (In this case your browser) which means even though your host is in a different country the extension will tunnel the transparent proxy to your loop-back address. visual studio live share extension is what you phone doesn't have and Microsoft doesn't support yet. If you still want to access your local service what you can do is turn off the firewall(or pass through that particular port where ur service is hosted) and connect your phone to the same network as your machine with the service running and instead using http://127.0.0.1:5500/index.html use http:// UR SERVER IP :5500/index.html you can get UR SERVER IP by giving ipconfig in windows command prompt or ifconfig if ur server is on linux.

How to connect a local server to multiple computers via Ethernet cable WITHOUT Internet?

I have a windows machine that has a local WAMP server running without the Internet. I would need to connect a few Mac computers to that local server via Ethernet cable stream some video content.
I kind of know that I would need a router to connect all to Mac computers and a server computer. I am still not clear how to do it without the Internet.
Any Help would be really appreciated! Thank you!
You should be able to just get an ethernet switch (something like this) and connect everything. You would then just reference your server in a browser or other app by it's IP address or computer name instead of a www address.
What you are talking about is soomthing called a peer-to-peer setup. See this Setting up a Peer to Peer Network

Access local site with subdomain on iPhone

I understand that you can access your computer's local site from a mobile device running on the same network by entering your computer's IP address (with relevant local port) into the address bar. However, I often use subdomains for development. On my local I access subdomains using lvh.me. For example:
blog.lvh.me
However, this will not work for mobile because lvh.me is redirecting to the IP 127.0.0.1 .
Is there a way to access a subdomain on an IP address? Essentially, doing the same thing as the above code but allowing for a dynamic IP address depending on the IP my computer has at the time?
So, after continuing research, I found an awesome tool that allows for exactly the above functionality:
xip.io
For example, if my computer has the IP address of 124.4.1.3 and I was running a web server at blog.lvh.me, where lvh.me redirects to localhost or 127.0.0.1, I could access my computer's localhost from another device on the network using blog.124.4.1.3.xip.io
I hope that helps someone!
Sidenote: The app in question was running on a rails server and the above setup required the following setting to be added to the environments/development.rb file:
config.action_dispatch.tld_length = 5
As rails was running on port 3000, this also required a url like:
blog.124.4.1.3.xip.io:3000

Connecting to a local network through iOS-device debugging

I have an application that uses a local ip-adress to connect to a soap based web-service. It works perfectly fine to debug through the simulator, however, when trying to debug the project on an actual iPhone-device it cannot reach the local network's soap-service.
Has anyone run into this and know if this is actually possible or do we need WiFi to be able to debug to a non-local ip-address, or is even that possible?
You can not access your local ip address from 3G only on wifi. You access it from 3G you need an public ip on the server that you have the web service.
If you are connected to a common wifi network say eg office wifi or home network.
You can check the local ip of your computer for that network by ipconfig of ifconfig.
Use same ip on app. You will be able to access.
Cheers.

Viewing a local web site on the LAN under a different hostname

In short I'm trying to browse a Mac's web site on the local wifi network under a .local hostname that is not the same as the machine's 'computer name' and think I'm missing a setup step.
I have a local install of nginx on my Macbook, with the proper /etc/hosts and nginx.conf entries to serve multiple sites, each with their own distinct local hostname. Assume the Macbook's network name is computername.local, and I have 2 sites running, one at http://computername.local and another at http://servicename.local. I can access each of these sites just fine from the local machine, but also want to be able to access http://servicename.local from an iPhone on the same WiFi network. I'm getting a timeout for that URL, but the other one works just fine.
I'm guessing something has to be done to allow servicename.local to be used on the local network, which I've left out. What is required to do that? Do I need to use Bonjour for that? Where would I add this new local hostname?
Another Mac on the same network can access this one under servicename.local just fine if I define the IP in its /etc/hosts file too, but I can't modify that file on the iPhone obviously. It's not jailbroken, and I'm not really interested in doing that just to get this working.
Not sure if it will help the OP, but another way of doing this - besides running a DNS server or jailbreaking the phone - is to run an HTTP proxy on the Mac, and configure the iPhone to use the proxy. Then the iPhone will pick up the Mac's local hosts file entries because it resolves DNS queries through the proxy. I've blogged about how to do this using the free Mac proxy "SquidMan" here: http://egalo.com/99j