How to change Team Foundation Server 2010 urls for use externally
* Please take the time to comment or digg this post if this post was helpfull*
In our company we use TFS for internal use, but our developers also work from home. Please note that this tutorial was done using a “Standard Configuration” in TFS (Everything on one box). Should be very much the same for advanced also. Achieving this is considerably easier than it was in tfs 2008, but there’s still no magic change urls button.
So here’s how to do it:
In our company, we use the following urls which resolves internally and externally:
TFS Main: http://tfs.mydomain.com:8080
Sharepoint: http://sp.tfs.mydomain.com
Reports: http://tfs.mydomain.com/reports
To start off, this is what my config looked like before making any changes, just installing all components: 1. Change the main TFS url:
- Open the IIS Management Console and click on the Team Foundation Server site. On the right panel click on “Bindings”.
- Click on “add” in the “Site Bindings” dialog.
- In the “host name” field, type your FQDN of your new tfs url.
- Click ok
- Click Close
- Go back to the TFS Administration Console and on the application tier node click on “Change URLs”
- In the Change URLs dialog, change the Notification URL field to your new fqdn you entered in the IIS manager.
- Your notification and web access urls should change on the application tier summary screen (refresh if need be)
- To test, open a browser and browse to your new url, which should bring up the TFS web access site.
2. Add alternate access mapings to Sharepoint:
- Open Sharepoint Central Administration by going to Control Panel / Administrative Tools / Sharepoint Central Administration
- Click on the operations tab at the top
- Click on Alternate access mappings under the Global Configuration section
- Click on “Edit public URLs”
- In the edit public urls page, enter your full fqdn into the “Internet” field in the format “http://tfs.mydomain.com”
- Click on Save
- Test that you can get to the site by opening a browser and browsing to your sharepoint tfs site (eg: http://sp.tfs.mydomain.com)
- Back in the TFS administration console, navigate to /Application Tier/Sharepoint Web Applications
- Click on the item in the listbox which should still be on the local server url, and click on “Change”
- In the Sharepoint Web Application Settings dialo box, change the friendly and and web application url to your fqdn sharepoint url and click on “Verify Path”
- If tfs resolves sharepoint correctly, you should get this dialog box
- Click on ok, and back in the administration console, the listbox will change with the changes you made.
3. Change the Reporting Services URLs:
- Open the Reporting services configuration manager by going to Start / Programs / Microsoft SQL Server 2008 / Configuration Tools / Reporting Services Configuration Manager
- Connect to your reporting services instance
- Click on Report Manager URL
- Click on Advanced
- In the Advanced Multiple Web Site Configuration click on Add
- Enter the fqdn of your report server you want. We used tfs.mydomain.com
- Click ok, and the url should be reserved for you
- Go to the Web Service URL settings and do the same as the report manager config
- Go back to the TFS administration console, and navigate to /Application Tier/Reporting
- To do this configuration, you need to first stop all the jobs on the server, so click on “Stop Jobs”
- You will get a warning, click ok.
- Now click on Edit
- In the reporting dialog, go to the Reports tab, and click on Populate URLs
- In the URLs for Report Server groupbox, select the urls which you just setup in reporting services configuration manager for both the Web Service and Report Manager
- Click Ok, the urls should now change on the below screen. Verify they are correct, and start the jobs again.
That’s it! TFS should be configured for external access, you can double check all your settings on the application tier main node (refresh the page) and make sure all your urls are now FQDN urls.
That’s all there is to it. TFS should work fine now internally and externally. In my next post, I will show how to deploy this via ISA 2006 to the outside world
If you found this post helped you significantly… Don’t be cheap and pay me for my knowledge. Thank you 🙂
[donation-can goal_id=’support-my-blog’ style_id=’default’ show_progress=true show_description=true show_donations=false show_title=true title=”]
Wonderful instruction. There are several instructions on the internet, but yours is the easiest and simplest way to do this. Thank you very much!
I am getting “You are not authorized” error while changing notification URL at TFS admin console & cant proceed further.
I’m really impressed with your writing skills as well
as with the layout on your blog. Is this a paid theme or did you customize it yourself?
Either way keep up the excellent quality writing, it is rare to see
a great blog like this one these days.
Hi !
Thanks fior this tutotial which will help me to open TFS to the outside.
I just wonder if developpers will still be able to access to TFS server in local like http://tfsserver:8080 ?
Does this technique allow to acces for inside and from the Internet ?
Thanks by advance for your answer
Jean
yup internally all should still work fine, check your host headers on iis, they should include your internal tfs site name.
Thank you for the nice Tutorial. We also use TFS in the company I am working for. Untill now, there is no chance to access our TFS via Internet. Do you think this may be a possible risk for invaders if TFS is opened up for access via Internet? Because this is the reason we can’t do it at the moment… Thank’s in advance!
The account you are logged in as doesn’t have permissions to the reporting database would be my guess. I know its a little late for you but it might help someone in the future.
hi
i have changed url in application tier and tired to test it , but it is throwing error that remote server is not accessbilt , before making these entries do i need to do anything other changes , can you please guide me on this
thanks
Kishore
Thank you for this. Saved much time trawling the configs and the web.
Great blog.
I just want to tell you that I’m all new to blogging and site-building and seriously liked this blog. Almost certainly I’m going to bookmark your website . You amazingly have outstanding articles and reviews. Bless you for sharing with us your website.
Thanks for the kind words…
I’m curious to find out what blog platform you have been using? I’m having some minor security issues with my latest blog and I would like to find something more safe. Do you have any solutions?
It’s wordpress
I’ve recently started a website, the info you offer on this site has helped me greatly. Thank you for all of your time & work
A pity, but I dispute with this unique post. I actually do appreciate your specific website though and may keep moving back for posts.
Hello,
Thank you for nice writing. It will help me for my research on prescription medications.
Thanks.
This awesome article poses no questions and leave no questions unanswered.
I enjoy this internet site, will surely arrive back. Make confident you carry on writing high quality posts. 828368
Thanks!
Very nice very nice stuff you have on ur blog your above excellence
Thanks alot
very Good one here
Great blog for my bussiness in -2
Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your site is fantastic, let alone the content!
Well going on 2 years now I guess… It’s pretty easy. thanks for the comment.
You really make it appear so easy with your presentation but I to find this topic to be really one thing which I believe I might by no means understand. It seems too complicated and extremely huge for me. I am looking ahead for your subsequent post, I will attempt to get the dangle of it!
Once you get into it and you just poke at it one screenshot at a time, you will get the hang of it. Alot of it’s common sense so don’t stress about it too much. Just take a stab at it its not that hard.
Hi, thanks for this article. It’s got me close but I’m having an issue getting to the sharepoint site from the external url.
I had an existing sharepoint site with external url mapped which is working fine. http://sp.myurl.com takes me to my sharepoint site no problems. When I create a project collection in TFS the sharepoint site is created and I can access via http://servername/tfs/Test but http://sp.myurl.com/tfs/Test returns a 404
Any ideas? I have applied the registry fix discussed earlier but it didn’t resolve this issue.
Cheers
Hi, I have tried follow your method but it doesn’t really work for my case.
I’m currently relying on external ISP DNS service, but in my network I also have my own AD & DNS server.
I have modified the host file in my sharepoint server.
My domain name : mydomain.local
External IP : 123.123.123.123
server IP : http://192.168.1.100
server name : WIN-FF21DPPUZ92
DNS FQDN : sharepoint.mydomain.local
DNS FQDN : sharepoint.mydomain.my
Both FQDN are accessible in internal network. But from external, when I access it kept showing my external IP Address rather than my FQDN which I have set. Probably is due to my external ISP DNS service redirectoin which I have configured.
For this case, how do I work around on this issue ?
Please help me. Thanks.
Thanks!
It helped me to change the URLs from IP to Alias name.
During this change I faced 2 problems: 1 – to access the machine with domain name. 2 – to add new Build controller and hanging of build controller and Agent while restarting it.
The 2nd problem resolved after deleting build agent and build controller 3 -4 times and then clearing cache.
Thanks again.
Mana
Hello,
I want to change URLs for TFS from IP to alias name, but I am getting error for Control Panel–> Application Tools–> SharePoint 3.0 Central Administration Menu as “HTTP 503 The service is unavailable.”.
If we are not using Sharepoint for TFS will it be fine to change rest of the things?
Thanks in advance.
Manaa
If you’re not using sharepoint for tfs, then yeah it should all work fine changing the other settings… most of the settings is to get sharepoint to work anyways.
Hi there
Thanks for the great article. is it ok to use IP rather than FQDN?
I have set up TFS on a remote server. I can access it (with a pair of username/password created on the domain which TFS is part of it) with FireFox and IE at home. I can not access it from work (it keeps asking for credentials). some other people can access it via FireFox but not IE!
do you have any idea that what is the problem?
Hi Aref,
An IP should work yes, as long as your IIS doesn’t expect a header.
What firewall are you using? Are you forwarding the correct ports to the server?
Awesome!
I got stumped when the FQDN denied access to my workgroup TFS config. KB896861 fixed it.
Thanks for this great guide. I was completely stumped trying to do this. I kept getting 401s when I tried to access the external URL from the TFS machine itself, even though I had set that to be the IP address of the machine in the HOSTS file. It turns out there is protection build in to Windows to stop NTLM authentication when you are looping back to a machine with a host other than the name of the machine. See this article to see how to add additional host names: http://support.microsoft.com/kb/896861
Thanks for the link 🙂
The “hack” in Regedit (DisableLoopbackCheck) resolved my situation to apply the changes in my client.
I wans’t able to reache the FQDN in the server itself, even with the FQDN in host file.
Thanks for the great article!
Hi, I followed mentioned advice but the problem it still there. If I use the hostname as the Web App URL everything works fine, if I use the dns name (which successfully resolves to the same ip as the hostname) I get the “TF255329: The following site could not be accessed: bla bla” error. Via Internet Explorer both URLs work totally fine, I don’t understand why it doesnt work.
Wow, thank you so much for this guide. Finally got it working because of this. I was missing the one step in the Reporting Services Config Manager where you have to add the FQDN. I’d done all the rest and couldnt figure out why it wouldnt work. So complicated for such a simple thing…. in case this helps anyone, I had initially installed TFS with the Basic setup because I didn’t need Reports and SharePoint at the time. I later went to add in these features and found it excruciatingly painful to do so. What I ended up doing was detaching my project collections, backing them up in SQL Server, then uninstalling TFS and SharePoint 3, then reinstalling with the advanced install path (making sure to uncheck “Create a default collection”). Then essentially followed your guide to get things going with the FQDN, and re-attached the collections throught the TFS Admin Console. Everything is working fine now (after granting access to the reports and sharepoint sites for the users who needed it). I should point out however that the reports and sharepoint site aren’t retroactively added to team projects, so if you want them in your existing ones, the only way I know of at the moment is to create new team projects.
Anyway, thanks a lot for this post, I can’t understand how everyone else managed to leave out that step in the Reporting services config manager….
You’re welcome Alex
Anyway your post has been a REAL time saver ! big big thanks to you
ouch, I lost at least one hour with sharepoint alternate access mappings. I actually made a mistake earlier because of the out of date screenshot showing port 80 instead of 8080 port in IIS…
please do update it ! 🙂
Hey that’s no mistake, it’s intentional. I use sharepoint on port 80 and not 8080, the screenshot is correct 😀
What a wonderful blog post. Was able to get everything up and running perfectly. Microsoft really made this process much simpler than previous versions of TFS.
Hey Ruben,
Yeah unfortunately I’ll never have the problem you are experiencing because my internal and external url’s of tfs is the same. so i use tfs.domain.com internally and externally. Did you change the server url’s in the tfs administration console as per this screenshot? http://tjopsta-net.win27.glodns.net/wp-content/uploads/2010/04/tfs004.png
Yup, I changed those URLs to point to domain name.
Do you know where does the link “Team Web Access” in “Project Dashboard” page get its reference from? I’m thinking about doing some reverse engineering to check when does this link come from so i can fix the origin and thus fix the link.
hey Ruben, we are faced with the same issue you were having. Did you find out where the bad links are coming from on the Project Dashboard? Were you able to resolve this specific issue?
I have the fix for the TEAM WEB ACCESS not working. These step by step directions given are fantastic, but it left one thing out. The Redirect URL for the “TEAM WEB ACCESS” link redirects to the Internal address until one additional setting is changed.
To Fix, open the Team Foundation Server Admin Console:
1. Click on Extensions of SharePoint Products
2. Highlight the lineitem in the grid, and then a “MODIFY ACCESS” link appears on the right.
3. Click Modify Access, and change the top URL for Team Foundation Server to your EXTERNAL address (but make sure to leave the ports alone (ie, port 8080 by default).
That’s all – thanks to Microsoft for 5 hours of troubleshooting and 1 easy fix.
Check your alternate address mappings in sharepoint, might be there?
Unfortunately its not the alternate mapping in sharepoint. It has something to do with the TFS Dashboard in the sharepoing.
Can you please take a look if your “Team Web Access” link points to external url and when you click on the the address does not redirect to local server url.
Yeah I wanted to do the same in the begining but I couldn’t get it to work for some reason.. I forget what it is. Feel free to post here if you figure it out plz.
Hi,
First of all want to thank you for an amazing article. It helps a LOT!
I’m just having a small issue with Web Access Portal. When I login to my project dashboard and click to “Team Web Access” link on the left site redirects to a local address, not the external url. However, in Team Server Console I see that Notification URL and Web Access URLs point to the external url.
Do you have any ideas what can the reason be and how to fix it?
Thank you very much!
Ruben
I have a two machine TFS 2010 deployment. My first machine TFS 2010 Application Tier, SharePoint Server v3, and SQL Server 2008 Reporting Services. My second machine has SQL Server 2008 Database only and it has TFS, SharePoint, and Reporting Databases. My current TFS port is the default( 8080) port and the SharePoint Port is default (80) port. I would like to change the TFS port to 80 and yet keep the SharePoint port also 80. Can I do that?
hmmm Sylwia, are all tfs services running? and the report server service?
Thanks alot for that info Dean, I’m pretty sure I did the same, I just didn’t remember doing it.
Hi, I followed the steps, but I cannot change the report urls, when I click Populate urls I’m getting exception: TF255050 TF255050: A connection cannot be made to the Report Server WMI provider. Verify the following:
1. You have entered the correct name for the server, including the instance name.
2. The Windows Management Instrumentation service is running on vs2010rcdemo.
3. The service is not blocked by Windows Firewall.
4. You have the required permissions to connect.
Details:
server RPC is not available. (Exception from HRESULT: 0x800706BA )
Do you have any idea why?
Thanks,
Sylwia
Hi Everyone,
I also had the same problem as many of you above. Here is the solution…
Open Regedit
HKLM\System\CurrentControlSet\Control\Lsa
Create a new DWORD called DisableLoopbackCheck and set it to 1. You may need a restart, but it worked right away for me.
This disables a new security feature that is designed to prevent reflection attacks and authentication fails if the FQDN for the custom host header you use does not match the local computer name. The TFS Admin console needs to do exactly this to check that the url is correct.
This resolves the problem with changing the URLs for me! Thanks a lot!
Thanks so much!! That simple regedit did the trick :-).
x2
Ok what happens when you just try and browse to the sharepoint site from a browser? Does it load up? did you edit the alternate access mappings correctly?
When i try to verfy path in sharepoint web application setttings i get the message last in this message.
I dont know if it has anything to do with the fact then when i try to acces http://sharepoint.SITE.com/ from outside of the domain i correctly gets probpted for username and password. But when i try to connect from the server i also gets probpted but it woant accept my username and password.
TF255329: The following site could not be accessed: http://sharepoint.SITE.com/. The server that you specified did not return the expected response. Either you have not installed the Team Foundation Server Extensions for SharePoint Products on this server, or a firewall is blocking access to the specified site or the SharePoint Central Administration
hmm, havent really thought of doing that yet… but why would you want to? I’m sure it only loads data from the web service, so if you have access to tfs via the web, the admin console surely should too
Nah, this is still for sp07, i’ll have a look at 2010 in a couple of weeks and will repost then.
is there a way to access the tfs administration console externally from web?
This is TFS 2010 on Sharepoint 2010
Hey thanks for the terrific article, I applied these changes to my server and it worked perfectly. However, this configuration conflicts with my existing web server on the same machine, so I switched back to using the default port 8080.
Cheers,
Jason
We are using port 80, I reset IIS and the Visual Studio Team Foundation Background Job Agent service and am still getting the same error message. I also tried the URL below to no avail.
http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/06/09/tf31002-altering-the-url-that-your-tfs-2010-web-client-uses-to-talk-to-the-at.aspx
ok in the IIS binding, did you stay with port 8080 or did u change it to port 80? I would recommend an iisreset /noforce after you changed all this. I think you should stick to port 8080 if you changed it
A client of ours is using this on Windows Server 2008 x64. They are not using SharePoint or the reporting services. We have changed the IIS binding and the URL in the application tier. I can connect to the URL, can authenticate and log in. However it is still looking at the wrong URL, not the one I changed it to. Do any services need to be restarted or anything?
“TF31002: Unable to connect to this Team Foundation Server: http://SERVERNAME/tfs. Team Foundation Server Url: http://SERVERNAME/tfs. Possible reasons for failure include: – The name, port number, or protocol for the Team Foundation Server is incorrect. – The Team Foundation Server is offline. – The password has expired or is incorrect. Technical information (for administrator): The request failed with HTTP status 404: Not Found.”
Is it the same account you used to install tfs? I havent done installation on a windows 7 box yet.. are you just doing this as a test or for production?
After adding a fqdn host header to the Team Foundation Server website and then attempting to match that url in the TFS admin console and clicking Test in the dialog I get nothing but an error stating that I don’t have the credentials to connect to the site. Any idea of how to fix this? This is a clean installation of TFS on Windows 7 x64 Ultimate.
ok so i need to redo the screenshot. It should be port 8080 all the way through. Sorry for that.
Thanks alot for the kudos man. Thanks for pointing that out, I changed it in the post.
Thanks for a great write up on a somewhat tricky bit of config. One question, In your write up there seems to be some confusion about port 8080. You begin with saying your tfs url is: http://tfs.mydomain.com and in the IIS site binding you show port 80 for that url. However in subsequent screen shots you show port 8080?
you’re welcome