Web Adaptor Problem

2846
6
07-26-2012 03:55 PM
ShaunWeston
Occasional Contributor
I have installed ArcGIS Server 10.1 in a DMZ Zone and have then installed the web adaptor on the same machine, but having problems with it.

It's my understanding that URLs will be converted from machine:6080 to the web server, however it doesn't seem to be working, if I go to this URL:

http://gis.pcc.govt.nz/arcgis/rest/services/Basemaps/Imagery/MapServer?f=jsapi

I
get a blank map and in Fiddler is this message:

Fiddler: DNS Lookup for pccgis07 failed. No such host is known

So it is still looking for the GIS Server at pccgis07:6080 rather than the web server URL, any ideas on whats going on here?
Tags (2)
0 Kudos
6 Replies
BubbaHey
Occasional Contributor III
What type of security are you using?
0 Kudos
IsmaelChivite
Esri Notable Contributor
Hi,

please contact Esri Tech Support. This is a relatively common problem. Typically this occurs when your Web Adaptor is running behind a proxy. Proxies on top of the Web Adaptor (or the GIS Server itslef) need to pass particular headers for the GIS Server to properly resolve outputs.

Ismael
0 Kudos
BubbaHey
Occasional Contributor III
0 Kudos
ShaunWeston
Occasional Contributor
Ok, so I've managed to fix this issue by using the URL Re-write module for IIS to change the outbound URLs. So these are the tags I placed into the web.config file under wwwroot\arcgis

               </rule>
                <rule name="OutboundXML" preCondition="ResponseIsXML" enabled="true">
                    <match pattern="(.*)http(s)?://pccgis07/(.*)" />
                    <action type="Rewrite" value="{R:1}http{R:2}://gis.pcc.govt.nz/{R:3}" />
                </rule>
                <rule name="ReverseProxyOutboundRule2" preCondition="ResponseIsNotImage">
                    <match filterByTags="None" pattern="(.*)&quot;http(s)?://pccgis07:6080/(.*)&quot;(.*)" />
                    <action type="Rewrite" value="{R:1}&quot;http{R:2}://gis.pcc.govt.nz/{R:3}&quot;{R:4}" />
                </rule>
                <rule name="OutboundXML2" preCondition="ResponseIsXML" enabled="true">
                    <match pattern="(.*)http(s)?://pccgis07:6080/(.*)" />
                    <action type="Rewrite" value="{R:1}http{R:2}://gis.pcc.govt.nz/{R:3}" />
                </rule>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                    </preCondition>
                    <preCondition name="ResponseIsXML">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/xml" />
                    </preCondition>
                    <preCondition name="ResponseIsNotImage">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^image" negate="true" />
                    </preCondition>
                </preConditions>
            </outboundRules>
        </rewrite>


And I also I setup a dummy inbound rule. Heopfully this is useful to someone that faces the same problem. Email me if you need any help with this 🙂
0 Kudos
ShaunWeston
Occasional Contributor
Actually the performance is pretty bad with URL-rewrite, so might not be the best solution.
0 Kudos
WalterMínchez
New Contributor II
Hi, I'm having this exact issue, when I'm in [/arcgis/rest/services] I can see the services without any problem; but when I want to see a map with javascript the request goes to [machine-name:6080].

It happens when I use the proxy from my office, without using a proxy the requests works. Checking the headers my browser gets from the web adaptor they look the same with and without proxy. The web adaptor and arcgis server are on the same machine.

Any idea what could be changing between the proxy and the web adaptor?

Thanks.
0 Kudos