2 votos

Ayuda para que mi servicio flex sea accesible públicamente

Mi organización está tratando de poner en funcionamiento nuestros mapas web. He creado un servicio de mapas web simple en nuestro servidor de ArcGIS interno, utilizando el visor flexviewer de Arcgis que es visible localmente, funciona muy bien y es visible en arcgis.com.

Tenemos una configuración de 2 servidores donde el Servidor A es nuestro servidor interno donde todos en la empresa almacenan sus datos. Esta es la máquina en la que tenemos nuestra instalación de ArcGIS 10.1 para servidor. No es público y solo es para uso interno del personal. Por otro lado, el Servidor B está fuera del sitio y configurado por una empresa que aloja nuestro sitio web para hospedar específicamente nuestros mapas web. Está en una zona desmilitarizada y configurado para pasar a través de nuestro firewall de la empresa. Es solo un servidor web simple que ejecuta IIS 7 y tiene instalado el Adaptador Web de ArcGIS. Ellos, al igual que yo, no tienen experiencia en configurar algo así, así que estoy aprendiendo todo lo que puedo en el camino.

Tenemos nuestro mapa flex en funcionamiento [aquí] lo cual es genial. Lo que no es tan genial es el error que aparece cuando se abre el mapa flex. Parece que mis datos, que consisten en algunas polilíneas, algunos puntos y algunas etiquetas, no se están transfiriendo de Server A a Server B. Supongo que mi pregunta real es qué necesito hacer para que los datos de Server A aparezcan en mi aplicación flex en el servidor B.

Si alguien puede arrojar algo de luz sobre esto, sería genial.

1voto

warsze Puntos 178

[respuesta revisada para abordar los comentarios del OP]

@cl3, buen trabajo al incluir tu aplicación de mapeo en el ámbito web público. Cuando ejecuto tu aplicación con Fiddler abierto, veo que está intentando recuperar un archivo de política crossdomain.xml.

En la raíz de tu ámbito web (es decir, lo que se resuelve exclusivamente a nwrpdc2012.com), crea un archivo llamado crossdomain.xml y dentro pega el siguiente bloque:

Si tu problema desaparece, investiga sobre archivos de política crossdomain y decide si quieres que sea más restrictivo. Obviamente, este es muy tolerante con las solicitudes fuera del dominio.

1voto

timhortons Puntos 690

SI no planea asegurar sus servicios REST desde el mundo exterior:

  • Coloque su 'app' de flexviewer (carpeta) en la raíz web interna. Esto creará un camino a su visor. es decir, http:\mydomain.com\flexViewer donde flexViewer está en su raíz web.

Esto permitirá que su visor sea accesible a través de su servidor web. No hay nada en este paso, no estoy seguro de por qué está teniendo problemas aquí (si es que efectivamente los tiene). Su visor flex llamará a su servidor AGS desde dentro de su dominio.

  • En su DMZ, el uso de un proxy fuera de su firewall en lugar de su servidor web, manteniendo tanto su servidor web COMO AGS adentro, es un gran comienzo para asegurar su sistema.

  • Usamos nginx, pero Apache también es muy, muy fácil. Usted quiere el módulo mod_proxy. Agregará cinco líneas a su archivo conf de apache httpd (o proxy referenciado):

    ServerName www.myDomain.com #su dominio registrado en su proxy
    ProxyRequests Off #para proxy normal (está utilizando reverse)
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.1 #IP de servidor web interno
    ProxyPassReverse / http://192.168.1.1

http://httpd.apache.org/docs/current/mod/mod_proxy.html

Lo crea o no, esto es todo lo que se requiere para configurar un proxy inverso básico. (¡Descargo de responsabilidad: ¡No soy un experto en seguridad!)

  • Configure sus firewalls en consecuencia en todos los servidores, para permitir el acceso entre servidores WWW-AGS.

Esta configuración crea una configuración básica que funciona para la mayoría de los casos: PROXY <--> ///firewall/// <--> AGS-WWW

Probablemente me falte algo - ¿alguien? El proceso debería ser realmente fácil, ¡si ya tiene un flexViewer funcionando y consumiendo Servicios Arc!

Si necesita asegurar sus servicios REST, tendrá un poco más de trabajo que hacer.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X