Select to view content in your preferred language

Can't See Server Data On ArcGIS Online Web App

5968
22
08-18-2016 09:53 AM
LloydBronn
Frequent Contributor

I'm currently testing an ArcGIS Server (10.3) deployment. I've published a sample geodatabase and map as geodata and map services on the server. I've linked these services with our ArcGIS online account and created a web map and web app from them. My issue is this: I can view the data with attachments on the web app from the web browser on the server. If I view the same page on the web browser on other computers, I can't see the data. I have everything set in the server manager and on ArcGIS online to share with everyone(public). Is this an issue in the IIS manager on the Windows Server, or on the ArcGIS server itself? Currently our server is local to our network.

Web browser on the server:

Server Web Browser

Web browser on another computer on our network:

0 Kudos
22 Replies
LloydBronn
Frequent Contributor

I'm still trying to answer this question. Does our local ArcGIS server domain need to end in .com to be able to be accessed from the internet? Our full computer name is in this format "SERVERAPP.COMPANYNAME.DOMAIN." I'm not sure why it's named this way, because I didn't set it up to begin with. All the ESRI documentation I've looked at has a .com at the end of the domain name. If I type "http://<our_network_IP_address>:6080/arcgis/rest/<service>/MapService into a browser, I can see our REST services page, but not the actual map itself. We have a .com domain and website. Do I need to register our server there? I don't have any server or IT experience, so I'm probably making it more complicated than it needs to be!

Thanks!

0 Kudos
RandallWilliams
Esri Regular Contributor

Hi Lloyd,

Sorry, I missed the last post.

In order for your internal GIS Server to be 'seen' by the outside world, you'd need to make it public. The ArcGIS Server's hostname doesn't need to end in .com, but you'll need to use some kind of NATting or proxy (like the ArcGIS Web Adaptor) to expose your server to the public.

In essence, you likely have a public-facing router that has an IP address. Depending on where you host your website, you may have registered your .com domain name with this IP.  If you have your own web server and that web server is accessible to the outside world, then the easiest thing to do will be to install the ArcGIS Web Adaptor on your web server (which is typically located in your 'DMZ', or 'Screened Subnet', which is a spot on your network in between your external facing router and internally facing firewall that is accessible from both internal machines and the outside world), open ports 6080 and 6443 on your firewall, and register the Web Adaptor with your GIS Server. Other options exist, like using a Reverse Proxy. More details here. You COULD just install the GIS Server on the Server in the DMZ, but that's not particularly secure.

So to answer your specific question, your internal LAN (domain) does not need to end in .com to be accessible to the web, but your GIS Server DOES need to be exposed in some manner.

LloydBronn
Frequent Contributor

Thanks! I do have the web adapter installed. When I installed the web adaptor, it automatically installed Windows IIS. Do I need to configure the web adaptor in IIS?

0 Kudos
RandallWilliams
Esri Regular Contributor

After installing the Web Adaptor, a web based dialog should pop up and direct you to supply the URL to your GIS Server. Assuming the web adaptor is installed on a public facing web server, you shouldn't have to configure IIS unless you're setting up HTTPS or using Integrated Windows Authentication.

LloydBronn
Frequent Contributor

OK. My issue then is getting the web server public facing.

0 Kudos
LloydBronn
Frequent Contributor

Ahhhhhhh!! Still hitting a roadblock with this. I have no IT experience and very little web experience, but I've been tasked with getting our server up and running and online . Forgive me if I'm using incorrect terms here!  I've looked at the ESRI documentation and a bunch of threads here and elsewhere online, but I'm missing a crucial piece somewhere. 

To recap, we have an ArcGIS server that I can access through ArcMap over our network. On our server I installed the ArcGIS web adaptor which automatically installed IIS and a default website which I named "arcgis_web". That lives on port 80 of our network. I can access the GIS server directly from within and without our network using http://<IP_address:6080>/arcgis/rest/services, but I can't link to the map services there. I'm trying to use a map service from our server within ArcGIS viewer for Flex, and put the viewer link in an HTML widget within our company's website (which is hosted elsewhere). I registered a sub domain through our web hosting company called GIS.<COMPANYNAME>.COM and made a DNS A record pointing to our network IP address ( I don't think that this has propagated yet). Our full server machine name is  "SERVERAPP.COMPANYNAME.DOMAIN." So right now I'm accessing the server either using the aforementioned http://<IP_address:6080>/arcgis/rest/services, or http://localhost:6080/etc/etc. I think I need to end up with http://gis.companyname.com/arcgis/rest/services/<myservice>/MapService but I'm still not sure how to link all this together. We're not using Portal for ArcGIS, so I'm not sure if I need to set up an SSL certificate.  

I'm wondering if I should uninstall everything and start from scratch?

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Sorry....this is getting really long....

So, being a little rusty on the full management of Server and IIS myself, these are the suggestions/questions I have for you.  I actually have 10.2.x for my EDN and production machines, and testing an EDN 10.4.1 machine (EDN = Esri Development Network license...good way to test if you only have one production license).  And I may not have the correct terminology either.

Usually 6080 (and 6443 if using security/SSL/cert) are used with the servername or IP of the server machine.  Once IIS is setup with a ".com" type name, and an "has a binding" to an IP with "external" access, you would typically use ports 80 and/or 443.  

Saying this another way..from my experience, and mentioned above, 6080/6443 are used with computer-name or computer IP ...or localhost only if on the AGS machine and the default arcgis/rest/services) ,  For example:

http://localhost:6080/arcgis/rest/services

Where 80 and/or 443 are use with the IIS site name AND the web adaptor, if installed (and I recommend for a number of reasons)    note: in my sample below, my port 80 is bound to the computer name or my 10.4.1 dev box, not fully qualified domain name/URL (this is when my terminology might be off).  Notice, no port number, and my web adaptor name (mapping). This returns exactly the same as the localhost above.

http://gisdevmachine/mapping/rest/services

So, you mentioned...

On our server I installed the ArcGIS web adaptor which automatically installed IIS and a default website which I named "arcgis_web".

I'm assuming that by the statement above you are saying that you install the web adaptor and called it arcgis_web. 

So using your samples and that assumption, try

http://gis.youcompanyname.com/arcgis_web/rest/services     or the same with https if using ssl

If that doesn't work, you may need to do a bit more setup on the IIS side of things.  You will want to get this running so you can see your services there before you start introducing a Flex, Javascript, ArcGIS Online or another web or user access. 

A few other questions: (apologies if  already covered...I read the other comments but didn't see these specifically)

  • is IIS and ArcGIS Installed on the same computer or separate
  • I'm assuming this is a server and not a desktop?  What version/flavor of server?
  • You said that IIS was installed by the web adaptor install.  I don't this that is quite true, I think IIS is typically already installed on servers...if you have the Internet Information Services (IIS) Manager (or under windows server-manager "Roles") you should be able to see IIS.
    • what version of IIS do you have installed?

This is getting really long, but if you made it this far, keep reading, maybe my samples of how my setup looks will help.

  • So although the web adaptor install would not actually install IIS, it will install an folder/application with the name you give the web adaptor.  If you haven't created a IIS "site", this will go under the "Default  Web Site".  For testing and internal use only, and you plan to only have one root .com name, this may be fine.  But if you plan to have multiple (for example, we have on for each of our divisions), you would want to create Sites (in IIS manger), and set it up with the IP and the open 80/443 ports.  Then when you install the web adaptors, they go under those sites, as appropriate. 
    • For examples, on  on my 10.4.x test machine (internal only, two web adaptrors (one set for public, other set for secure....these are separated to help me keep things organized when setting up the proxy)  My setup looks somethings like this (not accessible from outside our network, on purpose) notice, that is only has a Default Web Site, and although the Bindings show port 80 and any available IPs (*), none of the IPs on this machine have port 80 or 443 open.  I have two web adaptors installed on this machine (one for 80 and one for 443) which I have highlighted (and names blanked out) on the first image. 
    • On the other hand, I have my test machine setup with a ".com" type name, and ports 80 and 443 are set up so I can access them outside my domain/network.  I have multiple webadaptors for this address (one for public, one for secure) and I also highlighted the DotNet proxy folder/application (default name).  For this machine, I can access with the http://machine:6080/arcgis/rest/services     https://machine:6443/arcgis/rest/services   or the machines IP:<port>, or localhost:<port> (if on the machine)    OR  http://<....alaska.gov>/mapping/rest/services   with no port number to see the public services (not listing the secure web adaptor).

So not sure if any of that helps or just makes it more confusing, but bottom line:

  • you need your IIS (or other web) setup with a ".com" type name (FQDN?) and ports that can be seen by the outside world....whether that is the www or just those in your network
  • you want to setup web adaptor(s) for that machine
  • then you want to access the \rest\services with
    • using you machinename/IP/localhost and :6080 or :6443 and no web adaptor (just default arcgis)
    • or the      <FQDM>\<webadaptor>\rest\services   no port is using 80 or 443

Hope something in there helps.  If not, you might be better off contacting tech support so they can talk you thru some specifics. 

RandallWilliams
Esri Regular Contributor

Awesome response, Rebecca. Lloyd and I discussed some of this via PM yesterday. At this point I think he's going to be good to go, but the HTTPS discussion wasn't a topic we broached (yet).

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Thanks Randall.  I have to be careful since I know I don't always get the terminology right so I'm happy that he's getting better help.  But I can talk in user/layman terms on how I understand it all to work anyway.  I find putting some of this in geonet helps....since I tend to forget some of this stuff myself as I move on to other topics.  It's amazing how many times I find my own responses when looking for the answer to something.

0 Kudos
LloydBronn
Frequent Contributor

The ArcGIS server and IIS are on a dedicated Windows server machine. I'm able to log in and push services back and forth between the server and ArcMap on another computer on our network. It's all version 10.3.

I set up a sub domain at our web hosting company gis.<companyname>.com and I pointed it to our IP address with http access. I can access the GIS server from a browser outside our network (at my house) with http:// gis.<companyname>.com:6080/arcgis/rest/services. I cannot access using this URL on the server machine itself. Everything is still set to localhost. If I try to enter that URL in the ArcGIS flexviewer operational layers server tab I get "no results found". The name of the default website on IIS is arcgis_web. The web adaptor is set up for that and that's where the flexviewers are. I've tried to reconfigure the web adaptor using http:// gis.<companyname>.com:6080 and I get this error:


"Failed to get administrator token from the GIS server. Please verify that the GIS Server URL specified can be accessed successfully."

If the fully qualified domain is the full machine server name, then that is "serverapp.companyname.domain" not a .com. If the FQDM is gis.<companyname>.com I still get nothing when I type in  gis.<companyname>.com\webadaptor(arcgis_web?)\rest\services


 

0 Kudos