none
IIS 10 probelma con http y https RRS feed

  • Pregunta

  • Buenas, 

    Tengo instalada una maquina virtual con iis 10, en ella tengo un sitio web con .Net Core 3.1, que tiene un index con algunos request a mi Api utilizando jquery/ajax.

    El problema que tengo es que mis request estan dirigidos a http, localemnte en visual estudio esto me funciona correctamente deshabilitando Enable SSL, puedo conectarme a mi maquina virtual utilizando los endpoint con http y funciona bien.

    En el IIS de mi maquina virtual, parece que hay algo que esta modificando esos request, y si utilizo el inspector del navegador y voy a la tab de Network, veo que los request aparecen en rojo y estan hechos utilizando https.

    Que puede estar pasando? alguna idea?

    Gracias.

    jueves, 18 de agosto de 2022 20:44

Todas las respuestas

  • Te recomiendo mirar los logs del IIS para tener más información, pero por lo que indicas pueden ser 3 motivos.

    1. Problemas con el certificado (no es de confianza desde el equipo cliente o la url no está incluida en el que tienes asignado actualmente)
    2. Tener habilitada la opción de solo admitir conexiones por SSL 
    3. Tienes alguna configuración de re-direccionamiento (URL REWRITE)

    Su "marcar como respuesta" es mi sueldo :D

    viernes, 19 de agosto de 2022 1:21
  • Hola, gracias por la respuesta.

    1. No creo que sea un problema con el certificado, de hecho, no quiero usar ni siquiera el protocolo 'https' quiero usar solo el protocolo http, sin embargo, cuando desde el index.html, hago un request a mi API, usando HTTP, la misma me devuelve: "Request URL: https://..." cuando yo tengo en mi llamada ajax, http://10..

    Ademas veo este error en la consola "net::ERR_SSL_PROTOCOL_ERROR"

    2. Tengo puesta la opcion "Ignore".

    3. No tengo ninguna configuracion de re-direccionamiento.

    Alguna otra idea? muchas gracias!


    • Editado fercap89 viernes, 19 de agosto de 2022 1:41
    viernes, 19 de agosto de 2022 1:40
  • Si no hay un 302 en la traza, el problema está en el cliente. Si no vas a utilizar https en tu IIS, incluso puedes desactivar el puerto (no recomendado), pero con eso verás que ahora tendrás un 404.


    Su "marcar como respuesta" es mi sueldo :D

    viernes, 19 de agosto de 2022 1:49
  • No puedo ver en la traza cual fue el error, no lo encuentro, pero puede ver lo siguiente:



    Crees que puede ser un error de jQuery o algo relacionado a la seguridad en IIS?

    Yo entiendo que tiene que ser algo relacionado al IIS, ya que localmente, con el IIS Express de Visual Studio, sacando el checkbox de Enable SSL, funciona correctamente.

    Con funciona correctamente, me refiero a que nada cambia el http por https, y obtengo el resultado esperado.

    En el IIS de mi MV tengo un sitio que esta escuchando en el puerto 2424.
    • Editado fercap89 viernes, 19 de agosto de 2022 1:56
    viernes, 19 de agosto de 2022 1:54
  • Con burp puedes sacar una traza detallada. ¿con qué navegador estás probando?. Los nuevos navegadores bloquean solicitudes por http o las marcan como inseguras.

    Su "marcar como respuesta" es mi sueldo :D

    viernes, 19 de agosto de 2022 2:03
  • Probe con los navegadores mas nuevos y obtengo el mismo error, no se porque si tengo la url hardcoded con el protocolo http, lo cambia a https, capaz que es el propio navegador el que esta realizando el cambio al momento de realizar el request.

    Sin embargo con el IIS Express del visual studio, funciona en cualquiera navegador, por lo tanto entiendo que debe ser alguna configuracion del IIS.

    Por otra parte, puse en el controlador de mi API un log en la primera linea que no se llega a imprimir, por lo tanto no esta llegando al controlador, lo cual tiene sentido porque no tengo en mi sitio binding a https..

    viernes, 19 de agosto de 2022 2:17
  • Agrego otro detalle, va mas alla de la llamada Ajax, por ejemplo las rutas relativas me las completa con 'https' por mas que mi sitio en la url dice 'http'.

    Ejemplo: <link rel="stylesheet" href="/Assets/awsomeFonts/css/all.min.css"> esta ruta relativa tampoco la obtiene correctamente, porque la completa como https://host/Assets...

    viernes, 19 de agosto de 2022 2:21
  • IIS tiene 2 opciones para eso URL-REWRITE o HTTP REDIRECT.


    Su "marcar como respuesta" es mi sueldo :D

    viernes, 19 de agosto de 2022 2:22
  • Estas son las opciones que tengo, no veo "http Redirect", capaz que tengo que instalarle algo mas al IIS

    por otro lado en URL Rewrite no tengo ninguna regla.


    • Editado fercap89 viernes, 19 de agosto de 2022 2:29
    viernes, 19 de agosto de 2022 2:27
  • está bien, si no lo ves es porque no se ha instalado esa característica. Puedes compartir la configuración de los bindings?

    Su "marcar como respuesta" es mi sueldo :D

    viernes, 19 de agosto de 2022 2:30
  • Estos son los bindings 

    Es el unico que tengo, la verdad ya no se me ocurre que hacer...

    Estoy pensando en crear mi sitio para algun puerto de SSL y ver si puedo hacerlo funcionar, no tengo muy claro el tema de los certificados, pero ya hace dias que estoy trancado con esto, tal vez sea la mejor opcion.


    • Editado fercap89 viernes, 19 de agosto de 2022 2:33
    viernes, 19 de agosto de 2022 2:33
  • Si no tienes alguna entidad certificadora puedes usar un certificado autofirmado. La otra opción es comprar alguno de una CA externa o utilizar alguno como letsencrypt.  Creas el binding correspondiente y pruebas. ahí ya deberán desaparecer los problemas.

    Su "marcar como respuesta" es mi sueldo :D

    viernes, 19 de agosto de 2022 2:44