Share via


Configuración de HTTP y HTTPS

El uso de Windows Communication Foundation (WCF) sobre HTTP requiere el uso de un host, como Internet Information Services (IIS) o la configuración manual de los valores HTTP a través del API de servidor HTTP. Este documento describe la configuración manual de WCF al usar HTTP y HTTPS.

La herramienta que se usa para definir la configuración de HTTP depende del sistema operativo que el equipo esté ejecutando.

Para Windows Server 2003 o Windows XP, use la herramienta HttpCfg.exe. Esta herramienta se instala con Windows Server 2003. En el caso de Windows XP, puede descargar la herramienta en Windows XP Service Pack 2 Support Tools. Para obtener más información, consulte Httpcfg Overview.

Con Windows Vista, estos valores se configuran con la herramienta Netsh.exe.

Configuración de certificados SSL

El protocolo SSL (Capa de sockets seguros) usa los certificados de cliente y servidor para almacenar las claves de cifrado. El servidor proporciona su certificado SSL cuando se realiza una conexión, para que el cliente pueda comprobar la identidad del servidor. El servidor también puede solicitar un certificado del cliente para proporcionar una autenticación mutua de ambos lados de la conexión.

Los certificados se almacenan en un almacén centralizado según la dirección IP y el número de puerto de la conexión. La dirección IP 0.0.0.0 especial coincide con cualquier dirección IP del equipo local. Observe que el almacén de certificados no distingue direcciones URL basadas en la ruta de acceso. Los servicios con la misma dirección IP y combinación de puertos deben compartir los certificados aun cuando la ruta de acceso en la dirección URL de los servicios sea diferente.

Si desea obtener instrucciones paso a paso, vea Cómo: Configurar un puerto con un certificado SSL.

Configuración de las reservas de espacios de nombres

La reserva de espacio de nombres asigna los derechos de una parte del nombre de espacio HTTP URL a un grupo de usuarios determinado. Una reserva da derecho a esos usuarios para crear servicios que escuchen en esa en esa parte del espacio de nombres. Las reservas son prefijos URL, lo que significa que la reserva cubre todas las rutas de acceso secundarias de la ruta de acceso de la reserva. Las reservas de espacio de nombres permiten dos maneras de utilizar los caracteres comodín. La documentación API de servidor HTTP describe el orden de resolución entre notificaciones de espacios de nombres que conlleven caracteres comodín.

Una aplicación en ejecución puede crear una solicitud similar para agregar los registros de espacio de nombres. Los registros y reservas compiten por partes del espacio de nombres. Una reserva puede tener prioridad sobre un registro según el orden de resolución dado en el orden de resolución, entre notificaciones de espacios de nombres que impliquen caracteres comodín. En este caso, la reserva bloquea a la aplicación en ejecución la posibilidad de recibir solicitudes.

Ejecución de Windows XP o Windows Server 2003

Utilice el comando httpcfg.exe set urlacl para cambiar las reservas de espacios de nombres. La documentación Herramientas de soporte de Windows, explica la sintaxis de la herramienta Httpcfg.exe. Para modificar los derechos de la reserva para una parte del espacio de nombres, se requieren privilegios de administrador o propiedad sobre esa parte del espacio de nombres. Inicialmente, el espacio de nombres HTTP completo pertenece al administrador local.

A continuación, se muestra la sintaxis del comando Httpcfg con la opción set urlacl

httpcfg set urlacl /u {http://URL:Port/ | https://URL:Port/} /aACL

El parámetro /u es necesario al usar set urlacl. Toma una cadena que contiene una dirección URL completa que actúa como clave de registro para la reserva que se está realizando.

El parámetro /a también es necesario al utilizar set urlacl. Toma una cadena que contiene una lista de control de acceso (ACL) en forma de cadena de lenguaje de definición de descriptor de seguridad (SDDL).

La siguiente ilustración muestra un ejemplo sobre cómo utilizar este comando.

httpcfg.exe set urlacl /u http://myhost:8000/ /a "O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"

Ejecución de Windows Vista

Si está ejecutando en Windows Vista, puede utilizar herramienta Netsh.exe en su lugar. La siguiente ilustración muestra un ejemplo de cómo utilizar este comando.

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

Configuración de la lista de escuchas de IP

La API de servidor HTTP sólo se enlaza una vez a una dirección IP y puerto, una vez que el usuario registra una URL. De forma predeterminada, el API de servidor HTTP se enlaza al puerto en la URL de todas las direcciones IP del equipo. Se produce un conflicto si una aplicación que no usa la API de servidor HTTP se ha enlazado previamente a esa combinación de dirección IP y puerto. La lista de escucha de IP permite que los servicios de WCF coexistan con aplicaciones que utilizan un puerto para algunas de las direcciones IP del equipo. Si la lista de escucha de IP contiene cualquier entrada, el API de servidor HTTP sólo se enlaza a esas direcciones IP que la lista especifica. Para modificar la lista de escuchas de IP se requieren privilegios de administrador.

Ejecución de Windows XP o Windows Server 2003

Use la herramienta httpcfg para modificar la lista de escucha IP, como se muestra en el ejemplo siguiente. La documentación de Herramientas de soporte de Windows explica la sintaxis de la herramienta httpcfg.exe.

httpcfg.exe set iplisten -i 0.0.0.0:8000

Ejecución de Windows Vista

Use la herramienta netsh para modificar la lista de escucha IP, como se muestra en el ejemplo siguiente.

netsh http add iplisten ipaddress=0.0.0.0:8000

Otras opciones de configuración

El direccionamiento HTTP autohospedado de WCF no está integrado en el firewall personal de Windows. Una excepción se debe agregar a la configuración del firewall para permitir conexiones entrantes mediante una URL determinada.

Al utilizar WsDualHttpBinding, la conexión de cliente utiliza valores predeterminados que son compatibles con reservas de espacio de nombres y el firewall personal de Windows. Si decide personalizar la dirección base de cliente de una conexión dual, también deberá configurar estos valores HTTP en el cliente para coincidir con la nueva dirección.

El API de servidor HTTP tiene algunos valores de configuración avanzados que no están disponibles a través de HttpCfg. Estos valores se mantienen en el registro y se aplican a todas las aplicaciones que se ejecutan en los sistemas que utilizan los API de servidor HTTP. Para obtener información sobre estos valores, consulte Valores de registro de Http.sys para IIS. La mayoría de usuarios no deberían necesitar cambiar estos valores.

Problemas específicos de Windows XP

IIS no admite el uso compartido de puertos en Windows XP. Si IIS se está ejecutando y un servicio de WCF intenta utilizar un espacio de nombres con el mismo puerto, el servicio de WCF no puede ininciarse. IIS e WCF tienen como valor predeterminado el uso del puerto 80. Cambie la asignación de puertos para uno de los servicios o utilice la lista de escucha de IP para asignar el servicio de WCF a un adaptador de red no utilizado por IIS. IIS 6.0 y sus versiones posteriores se han rediseñado para utilizar los API de servidor HTTP.

Consulte también

Tareas

Cómo: Configurar un puerto con un certificado SSL

Referencia

WsDualHttpBinding