WMP unable to connect to WMS 2008; WMS returning 503 Service Unavailable
I've talked to a number of people that are having problems streaming from Windows Media Services 2008 on Windows Server 2008 when the server is behind a NAT firewall, some proxies, or load balancers. Clients on the internal network work just fine. In a network trace you'll see at WMS is returning a 503 Service Unavailable as the first response to the RTSP DESCRIBE or HTTP GET.
WMS is doing a DNS query for the domain name in the RTSP or HTTP request when the request is not the local NetBIOS, local DNS, or local IP. If a WMP client is requesting content through a NAT or similar device (such as some proxies and load balancers that hides or translate an external URL to an internal URL), the requested address might be something like mms://streaming.contoso.com/live. However internally the server name might be WMS01 or WMS01.corp.contoso.com. This generally is only going to happen if you're using Network Address Translation.
WMS 9.5 now contains a cache/proxy in the box. What's happening is when WMS doesn't recognize the requested URL as itself it is assuming that the request may be a proxy request. This happens even if the cache/proxy plug-in is disabled. Because internal clients would use the internal IP, NetBIOS, or DNS name, the server recognizes those request as intended for the local server itself.
You can work around this problem by adding any possible DNS name that could be requested by a client to the WMS server's c:\windows\system32\drivers\etc\HOSTS file and point it to localhost. It would be something like:
127.0.0.1 streaming.contoso.com
We're investigating a way to fix this issue more permanently.
Comments
Anonymous
February 04, 2009
That is if you are using a domain name. How about if the request is an ip address? What do you do then? How do you fix the problem? I am surprise that it is February 2009 and Microsoft doesnt have a fix yet. I have tried everything I can to fix this issue. Please help...Anonymous
February 05, 2009
There's no fix for using an IP. The good news is that we are going to be releasing a fix in the next few days.Anonymous
February 05, 2009
The comment has been removedAnonymous
February 05, 2009
The comment has been removedAnonymous
February 09, 2009
If I understand you correctly, it sounds like you're just turning your NAT into more of a router so that the external IP is the same as the IP that's bound to the WMS machine. This means that any request that is made to the external IP is using the same address as the IP that WMS is using. Therefore WMS sees it as a local (not a proxy) request.Anonymous
February 11, 2009
RandomNumber, I think you are correct. However, when I shut down the machine and restarted, it would no longer work. I did the same thing again making it work. However, as soon as I shut down and restart it stops working. It seems as though that outside IP is being cached and erased at shutdown. I would certainly appreciate if you can find a solution. Meanwhile, I will be working to see what else I can do... Thank you!Anonymous
February 16, 2009
Hello there. Is there any solution yet? Be true, i dont understand what for WMS 9.5 is performing 2nd resolve of client given URL? Is there any hidden sense to do that?Anonymous
February 26, 2009
Hello RandomNumber, any hints when the fix will be out? We are waiting desperately. RegardsAnonymous
February 27, 2009
Should be out within 2 weeks from now. I'll post an update when it is released.Anonymous
March 14, 2009
I am lucky to be the first to comment on this. I applied the fix and it works great!...This is really awesome since I've spent several days on this issue.Anonymous
March 18, 2009
IT WORKS LIKE A CHARM. Thank you! I dont have a public domain name yet, but it doesnt matter at this point as it works by just using my outside IP Address in conjuntion with my NAT Router/Firewall forwarding. Thanks RandomNumber, it was worth the wait.Anonymous
March 30, 2009
The KB is live at: http://support.microsoft.com/kb/960372 Note this is slightly different than my original link. <previous comment removed to prevent confusion>Anonymous
January 27, 2010
We have applied the hotfix to our test server on AWS EC2 sat behind an Elastic Load Balancer but instead of HTTP error 503 we now get 502 (Bad Gateway). Any ideas? It works fine directly but needs to be behind a load balancer...Anonymous
January 29, 2010
Do you have the cache/proxy plug-in enabled? If so, does the behavior change if you disable it?Anonymous
February 01, 2010
No we don't but we have fixed it now. The new problem of HTTP 502 was caused by the Elastic Load Balancer expecting a HTTP response from the WMS server. We changed the setup to use TCP instead and now it works.