I have a single domain name pointing to a single server running a JoinFaces + PrimeFaces project. When I click on a p:commandButton in a form on the server through its IP address, then everything works just fine. But when I do the same through the domain name (instead of the IP address), I get the ERROR: MAC did not verify / javax.faces.application.ViewExpiredException error. Any idea why the server would be behaving differently based on whether it is accessed through its IP address or through its domain name?
The issue turned out to be related to an aggressive caching configuration in CloudFlare (i.e., including the view state).
Related
Scenario:
Currently I have an IIS Server which holds the following websites:
-test1.local - Binded to 10.0.0.10:443(https)
-test2.local - Binded to 10.0.0.11:443(https)
-test3.local - Binded to 10.0.0.12:443(https)
Recently I've created a DNS entry of "test4.local" to point at test3's IP of 10.0.0.12. The Idea is that I can use a second DNS entry to point to the same IP address that test3.local uses. I keep getting a "Connection_Reset" in my browser and not sure exactly whats going on here.
My question is - Can this configuration actually work without creating an actual site or do I need to make a website called "test4.local" in the IIS server and bind it to whatever IP to make it work?
here is the situation,
we have a domain, let's say example.com
I have added a subdomain to the dns, chat.example.com
I have modified the Caddyfile inserting http://chat.example.com (it works fine)
However, rocket.chat is hosted on our local server, and it is behind the router provided by our ISP, which apparently is programmed to return its own home page if an address is typed that resolves to its external ip address. In other words, if a computer located inside our local network types http://chat.example.com, it gets the router home page (the one where you can configure it).
I have solved it by modifying the hosts file, but I would prefer a cleaner solution. Is there anything that I can do on the Caddyfile, perhaps allow him to reply on 2 interfaces (http://chat.example.com and http://192.168.1.x), or something else that I have not thought yet?
Thank you!
I'm in the process of launching a new website. I migrated all the code to the new server. The admin at the new host told me that I have to add an entry to my hosts file and then I will be able to see the website. So essentially he had me add:
111.222.3333.4444 example.com www.example.com
These are example, but after doing this, it worked. My question is, is how? If I visit the IP directly in my browser I get a 403 Forbidden error. Does the host have a way to resolve this IP to a location on their server if resolved from a domain name? I'm just confused as to how this works. I understand that by changing the IP address I can get the domain name to resolve to any IP, but I'm wondering why, on the hosts end, does this now resolve this way, but not by typing in the IP directly.
Thanks!
Does the host have a way to resolve this IP to a location on their
server if resolved from a domain name?
Not exactly. Your browser, when sending the request to the IP address, will send one important piece of information called 'Host header', that is the actual host name as you typed in your browser.
You usually can not open the website just by entering the IP address in your browser's address bar because web servers (and possibly many other network components that are between you and the web server) often do not host only one web site on that IP address so they rely on exact domain name typed in address bar to serve the right content.
You can test this by using one of the browser add-ons that allow you to add your own headers. Add header named 'Host' with the value 'example.com' and with that try to open your site by typing only provided IP address.
I have a MEAN app which responds to multiple domains. Domains are pointed to same IP and port.
Is there a way to get domain name from client request, without express.js?
So that I can load different database based on request domain name. I tried using process.domain and os.hostname which does not work on Windows OS (not sure about other OS).
Try picking it out from the header:
request.headers.host
I recently changed NS of one domain to another host and created a domain using Helm Control Panel.
The problem is that when I type domain name (ie. www.MyDomain.com) instead of opening the coresponding website, it opens host webmail page which is served by smarter mail.
I have cleared dns cache, rebuilt and updated it. also I removed the domain and added it again.
Pinging the domain name returns server's IP address and it's up.
The hosting OS is windows server 2003.
I appreciate any comments to solve the problem.
Edit 1:
Though this was a long last headache, I solved the problem by removing domain's DNS entry alongside with all alias domains attached to it directly in DNS Server console, restarting server and then rebuilding DNS Zone via Helm Control Panel. I'm not sure if this was the best practice but it seems there was a mix of domain's DNS, alias domains' DNS, Hosting software, Caching problems.
Edit 2:
Actually this error was not about the DNS stuff, it is a failure of Helm Control Panel adding/removing alias domains. To share the experience, I Add a answer to this question.
This was not a DNS error.
I found the answer when examining IIS where i noticed the website was stopped.
Forcing the website to start, this error message poped up:
IIS was unable to start the site, another site may already be using the port you configured for this site.
Further investigation revealed that one same domain alias has previously added to another domain/host.
Removing this alias from IIS > Website Properties > Website > Advanced > Advanced Website Identification, fixed the problem.
What led me to assume a dns problem mistakenly was that default IP of server is set to mail server by default. so, when a website is stopped the domain points to mail server.
Hope this help for future.