IIS 10 Site Bindings wildcard development machine - asp.net

I have successfully setup IIS on my local development machine (dev branch - setup as localdev.me) but when I went to setup another branch (hotfix - setup as localhotfix.me) I am running into issues. The issues are due to the way the site is setup. The subdomain of the url is used to determine which Database to connect to. So going to host.localdev.me will connect to the host database. So in IIS I have the following settings for the bindings of the site.
Type Host Name Port IP Address
http localdev.me 80 *
http *.localdev.me 80 *
I can ping localdev.me with any subdomain and I get the loopback address as expected. When I then setup the hotfix branch (exactly the same as the dev but with the following bindings) I get name not resolved errors.
Type Host Name Port IP Address
http localhotfix.me 80 *
http *.localhotfix.me 80 *
Is there a reason the first setup would work and not the second? What is perhaps even stranger if I tell IIS to stop I can still ping subdomains on localdev.me and get the loopback address.
I could always get it working by manually specifying the host name in my windows hosts file but I would rather not do that as I would need to go in and edit the file every time we add a new subdomain.
EDIT: These are the specific errors I am getting.
ping localhotfix.me
Ping request could not find host localhotfix.me. Please check the name and try again.
EDIT2: I have a solution that works fairly well. It requires Acrylic DNS and installation of the Microsoft Loopback Adapter. I set the loopback adapter to a valid IP Address and set the DNS server to 127.0.0.1 then edit the AcrylicHosts file to contain entries for each domain with a wildcard. Once I did all of this I was able to ping localhotfix.me along with *.localhotfix.me. I believe the reason localdev.me worked is because it is a valid domain. The name would resolve at which point I believe IIS was able to take over. But thats really just an educated guess. But kindof makes sense as to why it worked for one and not the other.

The reason *.localdev.me works without a hosts file is because the public DNS for that domain resolves to 127.0.0.1 as long as it is not localdev.me or www.localdev.me. You can check this using nslookup *.localdev.me (replace the asterisk with anything except www) while your hosts file is empty. On the other hand, *.localhotfix.me is not registered in public DNS at all, which is why you'd need a hosts file entry for those.

Related

forward localhost to ipadress on local netwerk

I have a domain name registered and i made an A record on it that points to 127.0.0.1 (aka localhost). I want to be able to work on websites in this case from machines that are in the same network as the server its running on but those servers are not open to the public internet. I still want to use my test subdomain to access this website but that would point to the machine im working on at that time so it must forward the requests to an 192.168.. ip adress I have set entered on the machine. Is there a windows command i could use that forwards localhost to a specific ipadress, like linux has 'iptables'? Or a program that could do this? Preferably for free.
I dont want to add my internal ipadress to a dns record because that would be sensitive information.
What about adding an entry to /etc/hosts (linux) or c:\Windows\System32\Drivers\etc\hosts (windows) ?
The format is: <ip address> <servernname>, e.g.: 192.168.10.12 www.stackoverflow.com.
Once you did that, accessing http://www.stackoverflow.com from the machine where the hosts file has been edited will end up being served by the server running on 192.168.10.12.

Unable to resolve CRM web application url with hostname from outside browsers

I have a deployment created with crm 2016 on-premise.
After installation. I am unable to use the webapplication URL from browsers outside the server.
If I use FQDN NAME-IT IS GETTING RESOLVING and able to access org. Eg:
http://testserver.testserverdom.com/Englishorg
If I use hostname url-it is not resolving and getting blank page. Eg:
http://testserver/EnglishOrg
Again if I add host entry in drivers/etc/hosts file in the outside machine like 10.10.10.10 testserver. Able to resolve and access URL.
I have added hostname(A) entry in DNS. I am still unable to resolve it with hostname.
Server have DHCP Assigned IP Address.
I believe you might be having the DNS issue on client - side (outside of you server) which cannot correctly resolve your testserver.
If you run cmd and there try nslookup testserver- you should see if this is resolved with the correct ip address (according you your hosts file change this should be 10.10.10.10). If this does not -- I believe the problem is in DNS query / response, please make sure your local DNS server is configured correctly and make sure your local DNS server is sending back the response to your client.

Applying Domain Name to EC2 Instance

I want to host a new subdomain on an Ec2 Instance(ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com) like blog.somesite.com
I have the DNS settings on a 3rd party host(like Godaddy) that look like:
site ip addr as shown above, is the value of the ec2 server e.g. xxx.xxx.xx.xx and not
ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
If I try to do an mxtoolbox lookup on DNS for blog.myapp.com, it seems to have properly propogated the A-Record, do I need a CNAME record instead of A-Record?
If I try to access blog.myapp.com via browser, it is just a never ending connection. If I access myapp.com , it has always been working fine.
On my ec2 box, I'm running nginx, does something need to be configured on nginx too?
Sorry about the newbieness - still learning.
Thank you!
To start with, you should assign an elastic IP to your instance. IP addresses will change if the instance is ever stopped. With an elastic IP, you can re-associate the ip address to the instance if you need to stop it.
If you are setting up a DNS record for the apex, it needs to be an A record (Apex records is your domain with no subdomain).
For the domain blog.yourdomain.com you can set up either an A or CNAME record.
You will likely need to configure your host within nginx to respond to requests with your domain name.
You will also need to make sure port 80 is open on your security group, and system firewall if your OS has one configured.

use local machine IP address to test website on local machine

Hi i am developing a website and want to test it on local machine
the flow is like this:
A -- my website
B -- third-party website
From A a request is sent to B with a url eg: http://mywebsite/abc.aspx which is a url on which B reports success or error.
so i need to define the url to report to
for this i need to give a absolute url or path.
thats why i cannot test it on local machine and have to upload it and test it.
but this doesn't allows me to track down errors and debug it.(through break points.)
so i am trying to get the local machine address like "http://123.456.7.8/abc.aspx"
but doesn't seems to work.
my pc is running on windows xp and is connected to router and my pc is in a network and i think that's why gets a dynamic IP.
have also tried public ip address but no luck.
any work around or help for this.
I believe you're trying to get an external website to contact your local PC. Your local PC is behind a router and getting a private IP from your local router.
You'll need to supply the external website with an address that has the external IP of your router and configure your router to forward incoming requests to yuor PC.
i.e. to forward port 80 on the router to port 80 on your XP machine.
Thus when the external website, tries the contact http://1.2.3.4/abc.aspx it will talk to your router, that will then pass ("forward") the request onto your PC at e.g. http://192.168.0.1/abc.aspx.
I believe You can try to use your Machine name.
You can set up a local DNS server or simply utilize hosts file, to cheat your web browsers. For example, register test.com to your machine's IP address, and then you can use http://test.com to access IIS default web site (or your web site on IIS if you configure it for the default URL).
http://en.wikipedia.org/wiki/Hosts_%28file%29
This is a typical approach to test out web application locally.
try hosting your website on IIS and then give fix IP to your system and try to access it with your IP. Another thing is get your global IP (you can check it from Whatismyip.com ) and set it in your binding in IIS for getting request to it from across the internet.

Getting site running in IIS 7 Issues

This is driving me nuts. I am trying to setup a webiste on our dev server with a specific url name www.mystpidsite.com as an example. mystupidsite is not the same name as the dev server.
1) specify a specific url to use for the website I create in IIS
2) run it and use that url to access it
I have:
1) created a new site in IIS 7 in Server 2008
2) attempted to access it via the site name which I set to the desired url and port 8888. So if we want it to be www.mystupidsite.com I setup the website name to mystupidsite in IIS 7.
3) I even tried to create an application under mystupidsite with the same name in IIS 7.
The server is definitely accessible and pingable on the network from my local PC, we have other stuff installed on this new server. Do I need to create an application or is just creating the website enough in IIS 7? I specified the IP as the server's IP in the website I made.
For the host name in the bindings of the site I put www.mystupidsite.com
when I try to access the site via www.mystupidsite.com it can't find it and the site in IIS7 on the dev server is running. It's running on a HyperV instance which is our dev server. Everything else has worked just fine. I just wnat to understand how to get a specific url by name setup.
Do I need to add something in the hosts file on the server or something?
You're not going to be able to have a site on your dev box answer to both the mystpidsite.com and mystupidsite.com domain names.
Unless you have the domains registered and have your domain's nameserver directing that name to your dev machine, IIS is only going to answer to requests either the machine name on the network or the IP address of your machine (in addition to 127.0.0.1 and localhost).
The only thing you're going to be able to do outside that scenario is set up two sites on two different ports on your machine and access them from http://localhost:80 and http://localhost:8888 (or network computer name equivalent).
you need to have an entry in dns to be able to hit the server when using www.mystupidsite.com
Because you have the site running on an alternate port you should be able to get to it by http://your-server-IP-address:8888
If you want to test it locally using the host name and do not have access to dns you can add the appropriate entries to the hosts file on your local machine (c:\windows\system 32\drivers\etc\hosts)
What happens when you type 'nslookup www.mystupidsite.com'? Do you get the IP address of the virtual server?
Do you have the windows firewall enabled on the server? if so, did you add an exception for port 8888?
add a default binding (no host header / blank) and try accessing it by IP

Resources