How do I change the url of my IIS hosted site? - asp.net-mvc

Currently, my .NET MVC application hosted on IIS 7 can be accessed remotely with the following url:
http://172.21.1.83:8080/Mysite/Index
I want to be able to use the url
http://example.com/Mysite/Index instead.
How do I achieve this? Basically I just want to get rid of the ip address and port number in the url, and replace it with a custom domain name (like example.com).

Sounds like you need a reverse proxy. That way the user doesn't have to see or use the port. Check out this article.
http://www.myconnectionserver.com/support/tutorials/v90/iisProxy/index.html

In your IIS web application click on Bidings from the right side menu bar, and add a new biding by entering your IP address and Port number, and your Host Name as the domain name which in your example is http://example.com/Mysite/Index.

Related

How to configure a reverse proxy for multiple IIS sites and a single IP?

I've inherited some internal sites from a previous employee and my constraints are the following, it is written in MVC and I need to change how it is hosted and no direct control over DNS. Security won't allow me to use subdomains within DNS so I'd like to use a subdomain within IIS or file path extension. manage.mgmt.domain.td or mgmt.domain.td/manage as an example.
How can I configure an IIS binding and an inbound proxy rule so that mgmt.domain.td directs to a general menu page, but manage1.mgmt.domain.td directs to a separate page and manage2.mgmt.domain.td to another page and have them fully functional. I've been able to configure the inbound reverse proxy rule to use an IP such as 10.0.0.1:801, however I cannot configure it to working using either friendly format listed above.
Can a vdir, appdir, work with an mvc project or is a reverse proxy better? It's iis10 .
https://computingforgeeks.com/configure-virtual-directory-on-windows-iis-server/
[Edit adding IIS binding and reverse proxy rule image]
Current
ASP.NET applications run in application pool. When you add vdir, you cannot choose application pool. So add application is more suitable than vdir.
I can type in the ip 10.0.0.1/manage and it points to my site, I can also type 10.0.0.1 and it will load the same content (which I dont' want)
10.0.0.1/manage is the correct url to access MVC application. If 10.0.0.1 also show same content, consider that client cache or url redirect. The correct content it shows should be index page of the main site.
however it is not loading content when I use the dns friendly name?
I cannot understand what the dns friendly name you mean. If you have a public domain name, just bind the domain to the server in server provider. and when you add site, set the host name to it.
An easier way to do this is to add a route to your application, for example on global.asax, to get the incoming server address from there and direct it to the correct destination. For Application_Begin_Request in Mvc, you can refer to this article here.

How do custom domains work with routing, links, and redirects in a Saas app?

I understand that if I want customers to be able to use a custom domain that points to their space at customer.mysaasapp.com, they must define a CNAME record that aliases the canonical customer.mysaasapp.com domain.
What I don't understand is how this alias persists across requests. For example, if the customer site links to its resources, how does it know whether to link to the customer.mysaasapp.com/videos domain vs the customclientdomain.com/videos resource? I don't want the true subdomain to show up in the navigation bar as soon as a link is clicked. How is this handled?
Let me try to explain it for you. As you already know CNAME are canonical names for another domain.
As you know when we hit a domain in browser address bar. Browser asks the DNS (domain name server) where to send the request. DNS matches the domain name and sends the IP address back to browser and browser hit those IP address to get the response.
But when we want multiple sites to be served from same IP address which is the case in SAAS app. We can define CNAME for each client. Which is alternative to IP mapping.
So when browser asks the DNS about the address for the provided host url. DNS sends back the actual domain name/path and tell's the browser that it's the right address to ask.
So now browser sends the request to actual domain behind the scene and sets the HOST header to the provided address which user entered. (customclientdomain.com/videos for your case).
Now the server knows which host was provided by the user and responds accordingly.
From next request onward Browser does the magic and give you a mimic that it's a totally new website.
All of the modern browser including WGET , CURL also handles this.
Here is a link with more details.

How to make my domain to point to my web application?

I have created a free domain in freedns.afraid.org as "xxx.com"
I also have a web application built on JSF2 and deployed on my local glass fish server.
The application is accessible on localhost:4848/MyWebApp/home.jsf.
When I replace the "localhost" with my public ip, as expected,I am able to access the application
on the internet as well.
Now, I want to use this www.xxx.com and make sure when someone hits url www.xxx.com, my web-application should be accessible over the internet.
Please let me know how to do it?What I am missing here?
You can't point domain name to ip adress with port. Point domain to ip without port, and it will work like this:
your-domain.com:4848/MyWebApp/home.jsf
If you don't like port shown in adress bar, you can use iframe to hide it.

asp.net mvc site with multiple subdomains in iis

I want to do capture subdomain as a parameter and show the appropriate information based on subdomain.
for example user1.domain.com and user2.domai.com each one get appropriate info.
possible duplicate: Is it possible to make an ASP.NET MVC route based on a subdomain?
what i have done so far:
I have a dns server with following ip address: 192.168.1.11 and a web server which host bunch of websites with ip 192.168.1.12
The site the should capture the subdomain is named pakdomain.dev
I've tried two scenarios:
after defining pakdomain.dev zone on iis and creating and "A" record with www as host and ip 192.168.1.12 on dns server
fist i have created another "A" record with "*" as host and wildcarding it to ip webserver
second i have created another "CNAME" record with "*" as host and wildcarding it to www.pakdomain.dev
in iss i have a binding with www.pakdomain.dev and pakdomain.dev to a website.
none of the above scenarios have worked for me when i goto www.pakdomain.dev or pakdomain.dev everything is fine but when i try to go to address like user1.pakdomain.dev or user2.pakdomain.dev the it goes to default website on iis.
what should id ? and how should i capture subdomain on my app?
Try this
var domain = HttpContext.Current.Request.ServerVariables["HTTP_HOST"];
That should give you the host header information and then use the value to route to wherever it is you want to go.

How to set up my xampp so that when i type my ip to get my custom made site

What i want to do is to set xampp so that when i give my ip to someone they can access my site. The reason for me to find something like this is cause i want to embed paypal testing to my site and it is needed to set a URL for the customers to return to my site when they complete their transactions... I run XAMPP 1.7.7 and my modem is a siemens. Also is there any free way to get a url ie blahblahblah.net or something like this?
In order to do this you will need to set up port forwarding on your router to your web server on your machine (you will have to look at your Siemens router documentation on how to do this). You will only be able to do use a custom URL if your router suports dynamic DNS, which most modern routers do. This required because probably the way you access the Internet your IP address can change each time you log in. If this is the case, you can get one free domain for this purpose at DynDNS.

Resources