Apache2 forwarding to an old ddns server - apache2

I own a domain for a website (let's just use "X.com"), which for now I'm hosting on my home computer. This domain name points to my dynamic dns (x.ddns.net) name in the web forwarding of the domain name registrar as I have a dynamic ip and I haven't yet found a better way to make sure that the IP is consistently updated.
I recently changed the ddns address (y.ddns.net) and now whenever I try to access my site either from accessing the main domain name (x.com), or via typing in the local lan ip (192.168.1.56) I keep getting forwarded back to my original ddns address (x.ddns.net) and the website won't load.
I've looked through all the settings I can find both locally, with the ddns provider and with the (x.com) registrar to try to pin point where the forward takes place but I'm totally stuck.
Host system is Ubuntu, everything is up-to-date, nothing in /etc/hosts file pointing to the old ddns.
Thanks in advance for any help.

Try DDNS on Cloudflare
Only problem is that you need to move your domain to cloudflare dns servers which is totally free to use.

Related

Access host variable from virtual machine

I have a react-app, I set up my app to run on a custom url using the HOST variable when starting the app, something like:
"scripts": {
"start": "HOST=my-local-website.com ..."
}
I need to access this url from a windows virtual machine to test it on IE11, before setting up the HOST variable I was able to access it simply from my IP address (192.168.X.XX:3000), having changed the HOST variable this doesn't work anymore.
Does anyone know how I can access it from a virtual machine?
Thank you in advance
I suggest to set environment variables in separate .env file like described in dicumentation.
In .env file set HOST=my-local-website.com to change host (it's unclear why official doc recommends prefixing all env variables with REACT_APP_)
Web site name my-local-website.com mapping to IP address of server (192.168.X.XX:3000 in your case) is done using DNS. This relate to networking and not to frameworks you use. So to be able to access your site by name you have to establish mapping between name of the site and IP address
I terms of DNS this mapping will look like
my-local-website.com A 192.168.X.XX
But for testing purpuses you can use simplified approach (I don't think that you have established DNS server in place). On Windows you can use hosts file which is located in C:\Windows\System32\drivers\etc folder. File is named hosts. Open it with any text editor (like notepad) and add string
192.168.X.XX my-local-website.com
IP address goes first, name last. Dont include port number (:3000) as it not related to DNS. hosts file should be changed on you test (client) PC, not on the PC where your app run.
You may also modify hosts on PC where you app runs to check if host has been configured correctly.
To check that everything is correct you may use ping like this
ping my-local-website.com
IP address should be printed if you configured everything correctly.
If you run your app on Windows host there may be problem with firewall configuration. If your app open on the same PC where it is started but not on another PC, most probaly that firewall blocks traffic. It can be WIndows Firewall or antivirus software if you have any.

expose local webserver behind dynamic IP

I've a simple webserver bound on 0.0.0.0:3000 on my machine which works as intended on local networks. By local network I mean to say, if my mobile or any other device is on the same network, it can access local webserver by going to the IP assigned to my machine and adding port 3000 to it. Eg 192.168.1.4:3000.
Now I've to expose it to the internet but not through some sort of 3rd party application like ngrok, localtunnel or browserSync. I know that these applications work perfectly, but since I've my own pet project of controlling home appliances, I don't want to rely on availability of 3rd party services. So the current state is, I cannot control it through the internet. Keeping in mind I don't have a static IP otherwise this would've been easier.
I already have a vps and a domain name assigned to it. I can send my currently allocated ip address (since it is dynamic), by using getifaddrs, to my server and keep track of it. But how do I expose my local server to the internet through it? Those 3rd party applications assign some sort of subdomains to each exposed server, and I'll be able to assign subdomains too, but I'm still not getting any way to expose the local webserver. Any help would be appreciated, thankyou :)
Step one, you need to expose your webserver at your internet access router.
Typically this requires you to configure port forwarding for (in your case) port 3000.
With this done, any client could access your service via (current external dynamic ip):3000
Step two, you need to dynamically map a fixed DNS name to your current dynamic ip. There are of course third party services (such as DynDNS) that would help you map yourfavoritename.dyndns.org to that ever-changing ip address.
If you want to do the latter without 3rd party, you need to have some static (web) server somewhere and could proceed as follows:
Clients visit http://www.yourstaticserver.example/ and that server redirects them to (current dynamic ip):3000.
Of course, for this to happen, your static server needs to know the dynamic ip and needs no find out about changes to it.
To this end, you could have your internal server contact the static server on a regular interval (such as once a minute), say, have it access http://www.yourstaticserver.example/some-secret-special-page and the static server always stores the REMOTE_ADDR of such a request (preferably with some authorization!) for its future redirections.
Actually, there is a step zero before step one: Be aware that exposing your server to the Internet means that you expose your server to the Internet. So I hope you have invested enough thought into security.

Weebly Deleted Site Error 404 page not found

My college website www.chenabgrw.edu.pk was published on weebly. I purchased a new hosting service and updated nameservers. I installed wordpress on a subdomain www.new.chenabgrw.edu.pk After designing new site I deleted my weebly site to shift subdomain new.chenabgrw.edu.pk but I am still getting a 404 error of weebly.
For now I have made an html page on weebly having javascript of on page load redirect function which redirect main domain chenabgrw.edu.pk to new.chenabgrw.edu.pk
This isn't going to be (would not have been) a Weebly issue, but instead a DNS issue. Or you were seeing cached information from your browser/network.
As it stands now, you have a CNAME for www.chenabgrw.edu.pk pointed to chenabgrw.edu.pk but chenabgrw.edu.pk is pointed to a Weebly IP Address (199.34.288.67). In other words both the Root and the WWW are pointed to the Weebly IP Address.
So, seeing that your NAMESERVERS are pointed to hosterpk.com you would want to log into the hosterpk.com account, where you manage your domains DNS, and point the Root Domain chenabgrw.edu.pk's A Record to 69.162.90.106 ~Then you should be able to set the domain to use chenabgrw.edu.pk instead of new.chenabgrw.edu.pk
Keep in mind that after you make DNS changes it may take time for them to update. You can use a service like http://www.who.is/dns/new.chenabgrw.edu.pk or http://www.dns-checker.com/dns/new.chenabgrw.edu.pk to see if they have been updated. THEN your browser cache or Network might be showing you out-dated info. Clearing your browser cache and or restarting your network can help.
If you have any issues updating your domains DNS, you'll want to reach out to the provider where you manage your domain's DNS.

How to respond requests with the windows host file?

Using the windows host file located in
windows/system32/drivers/etc/host
Is it possible to respond a request from an application like when it is offline(not connected to the Internet)? Could you please give an example of this is done.
The hosts file only lists aliases for ip-addresses. For example:
192.168.0.1 foo bar foo.com bar.com
If that line is in the hosts file, then you can use the host-names foo, bar, foo.com and bar.com to reach the computer with ip-address 192.168.0.1.
If the computer, or the service you want to reach on that address, is not online, you can't reach it no matter what you have in your hosts file.
If you are willing to map your local development environment to a domain name, you can edit the domain name in hosts file and map it to 127.0.0.1, which is the loopback address.
That way, any requests done to that particular domain will fallback to your local machine.
You can also assign different LAN/WAN IP addresses.
When your development phase is done, you can remove the entry.
I would not recommend doing so, stick with the localhost and just make use of that to test virtualhosts setup or some sort of domain based configurations.
If there is anything else I can answer, please don't hesitate to post further comments on my answer.
If you mean to respond to HTTP requests then you need a Web Server configured to respond to any host (or that specific host name) on port 80. If you are not using it for anything else IIS can do this1 – configure it to return 404 (not found) or some other relatively neutral fail response.
1 If IIS is already being used then things get much harder, later versions of IIS are more flexible either with a combination of using HTTP.SYS to allow other applications to respond to certain URLs or using different Web Sites in IIS (until Windows 7, or maybe Vista, only available on Server editions of Windows).

How can I add an additional site to my VPS server?

I have a VPS hosting service. First of all, I installed bind9 and everything that my main website works just fine. Now, I bought another domain and set its nameserver address&ip to my website ones.
I added a configuration file of that site like '/etc/apache2/sites-available/www.example.com' and I did 'a2ensite www.example.com' to enable the website to apache2. After one, when I reloaded my server, I see '000default' and 'www.example.com' in my '/etc/apache2/sites-enabled/' directory.
I have thought I am done with settings, but I still cannot connect to the domain example.com. I think I have read it somewhere that I have to set up 'zone' thing which I did when I was setting dns.
For example,
zone "example.com" IN {
type master;
file "example.zone";
allow-update { none; };
};
Is this correct? If so, what are the things that I need to do afteron?
I can see a very descriptive answer here It includes everything from hosting multiple domains to even getting sub domains up on the same VPS.

Resources