Solo lectura

Google Chrome - Foro de ayuda

Esta página web es un archivo de los hilos antiguos de los foros de Google. Más información

Como habilitar el protocolo HTTP en mi navegador Chrome?

cc e
30/03/17 7:02
Buen día. Espero me den una mano. Estoy desarrollando una aplicación web que alojo en mi servidor web. No tengo un certificado comercial, estoy trabajando con el protocolo HTTP. Pero por seguridad los navegadores Chrome no permiten los protocolos HTTP.  

Cuando en mi aplicación web intento abrir un popup desde donde obtengo una imagen con mi webcam, no me permite abrir el cartel donde me pregunta si deseo habilitar la webcam.

Cuando abro la aplicación desde mi herramienta de desarrollo funciona pero cuando la subo a mi servidor web y quiero acceder directamente pone que el sitio es no seguro y no me permite hacer nada.

Necesito habilitar el protocolo HTTP en mi navegador para que me permita acceder a la webcam. En mozilla firefox funciona de maravillas, no en el chrome.

Configure mi sitio como de confianza y nada.

Alguna ayuda?

Muchas Gracias.-

Respuestas (28)

Dennis Tobar
30/03/17 7:07
Hola CCe:

Un gusto que te pases por el foro. Una duda, ¿estás seguro/a que es el protocolo HTTP?. Te lo indico ya que si puedes abrir esta página, bueno, es que tienes habilitado el protocolo HTTP...

Si es por HTTPS, quizás deberías chequear la iniciativa [Let's Encrypt] para que tengas acceso a un certificado gratuito.

Te [esperamos en el foro] por si tienes más dudas...

Saludos

Regresa para continuar la conversación, dar las gracias o marcar mejor respuesta. Así ayudas a mejorar y enriquecer el Foro.

cc e
30/03/17 8:56
Dennis, muchas gracias por tu pronta respuesta. Te explico: en la aplicacion web en mi servidor iis 8.5 no tengo habilitada las opciones SSL y puedo abrir la pagina principal de la aplicacion normalmente, me olvide de comentarte que la estoy probando via LAN de una PC cliente a otra PC servidor colocando la IP del servidor - 10.10.2.1. Como te decia, a la aplicacion la abre bien, dentro de la aplicacion tengo un LinkBotton el cual me abre una ventana en, digamos, fotos.html?var=1, a la ventana la abre bien muestra todo el contenido pero dentro de esta ventana esta codificado la deteccion de la camara web y cuando utilizo la herramienta de desarrollo VWD siempre me aparece un cartel cuando detecta la camara y me pregunta si la permito o no. Pero cuando quiero abrir desde la pc la aplicacion en el servidor no aparece ningun cartel (ya verifique que permita camara y pregunte) de la camarita preguntandome que si permito o no activar la camara. Como explique en la primer pregunta que hice, con mozilla firefox funciona de maravillas, el mismo comportamitento del Chrome ocurre con el Opera, Explorer. Algo referido a la seguridad debe ser y necesito deshabilitarla en mi navegador ya que es una aplicacion interna.

Muchas gracias por tu respuesta.-
Dennis Tobar
30/03/17 9:02
Hola:

Gracias por tu explicación. ¿Sabes si la cámara usa un plugin externo para ejecutarse?. Me parece que podría ser que ese plugin usa NPAPI que es una tecnología que va en retirada...

Eso se me ocurre a buenas y primeras :|
cc e
30/03/17 10:03
Es una webcam marca noganet. Lo mismo me paso cuando quise abrir la aplicación desde una PC allinone con cámara incorporada de las más nueva. Alguna prueba para hacer?
cc e
30/03/17 10:03
Dennis Tobar
30/03/17 10:21
Hola,

Al abrir el popup de la cámara, ¿te preguntó si querías usar un dispositivo para grabar vídeo?. 

Si no es así, es muy posible que la aplicación que se usa para conectarse a la web sea con tecnología NPAPI que está desaconsejado en las últimas versiones de Chrome, Opera y Firefox pronto le quitará el soporte.

No le veo más salida que esto :|
cc e
30/03/17 11:51
Cuando abre el popup no me pregunta. Solo lo hace cuando corro la aplicación desde el VWD 2012. Utilizo una librería jquery.
cc e
30/03/17 12:03
Utilice algo como esto: http://www.xarg.org/project/jquery-webcam-plugin/

Yo capturo una foto y la almaceno dentro de una carpeta del proyecto en el servidor.

Dennis Tobar
30/03/17 12:06
Cuando veo esa web me sale que debo habilitar Flash. Quizás podría pasar por eso el problema...


cc e
30/03/17 12:20
Dennis Tobar
30/03/17 12:25
Oh, ya caí. El demo te funciona porque no estás desde "localhost" y usa HTTPS. Mira la consola de errores cuando ejecutas [el jsfiddle -recomendado- sin https]

[Aquí está la información] de porque no puedes acceder, por javascript, a esos medios.

Cruzo los dedos para que sea este el problema...
cc e
30/03/17 12:32
En el link Aquí está la información me abre una página vacía. Y cuál sería la solución?
cc e
30/03/17 12:40
Si mal no entiendo dice que esa aplicación funciona en http y debería trabajar en https? A eso me refería originalmente. Nose como hacerlo.
Dennis Tobar
30/03/17 12:49
Así es: http no es un protocolo seguro, así que Chrome evita que se usen medios que afecten la privacidad, así que "invita" a los desarrolladores a usar https, que es el protocolo HTTP con seguridad.

Para habilitarlo debes tener un certificado de seguridad y configurar IIS para que lo use. Aquí hay una forma de usar [Let's encrypt] para obtener un certificado gratuito.

Espero que, al fin, sea el fin del problema :)
cc e
30/03/17 12:52
Mi inglés no es bueno, pero puede que en los pasos 1 y 2 explique como hacerlo funcionar? Pero no alcanzo a entender bien lo que dice
Dennis Tobar
30/03/17 13:01
En español sería:
  1. Descarga el [release desde github] (archivo zip)
  2. Descomprime el archivo zip en cualquier parte (carpeta temporal)
  3. Abre una nueva consola (Haz clic en inicio y luego teclea "cmd", luego Enter)
  4. Escribe cd <carpeta> (donde <carpeta> es la carpeta/directorio donde descomprimiste el zip) y presiona Enter en el teclado
  5. escribe LetsEncrypt y luego Enter
  6. Selecciona la carpeta donde está la raíz del servidor web con los números que te salgan (en el ejemplo sale 1, así que escribes 1 y Enter)
  7. Luego se descargará el certificado y te solicitará un usuario para la tarea, creo que es enter sin respuesta (sino N)
  8. Y listo! (aunque te recomiendo reiniciar el servidor tras esto).
Nota: A pesar que soy Ops, no uso IIS, pero este es el medio más seguro para hacerlo con Windows.

Saludos
cc e
30/03/17 13:05
Si, eso era lo que sabía por eso preguntaba si había alguna opción para deshabilitar https y poder trabajar con http.
 Y a que se refiere con el Punto 2, del flag, no lo entendí, pero si el punto 3.
Dennis Tobar
30/03/17 13:13
Ah, pensé que era el enlace de Let's Encrypt :)

Creo que te refieres a la guía de deprecation...

  1. localhost is treated as a secure origin over HTTP, so if you're able to run your server from localhost, you should be able to test the feature on that server.
  2. You can run chrome with the --unsafely-treat-insecure-origin-as-secure="http://example.com" flag (replacing "example.com" with the origin you actually want to test), which will treat that origin as secure for this session. Note that you also need to include the --user-data-dir=/test/only/profile/dir to create a fresh testing profile for the flag to work. Note that on Android and ChromeOS this requires having a device with root access/dev mode.
En español sería
  1. localhost es tratado como un origen seguro de HTTP, así que puedes ejecutar tu servidor desde  localhost, por lo cual podrás probar la característica en ese servidor.
  2. Puedes ejecutar chrome con el modificador --unsafely-treat-insecure-origin-as-secure="http://example.com" (reemplazando "example.com" con el sitio que quieres probar), el cual será tratado como un origen seguro para esta sesión. Debes notar que también debes incluir el modificador --user-data-dir=/test/only/profile/dir para crear un perfil nuevo para que funcione. Debes notar que en Android y ChromeOS requiere que tengas un dispositivo con acceso de root/modo desarrollador.
Los modificadores se setean en el acceso directo de Chrome. Botón secundario sobre el icono de Chrome > Propiedades > Destino. Al final de Destino añades los modificadores (o flags).

No traduje la tercera opción porque implica la creación de un certficado autofirmado y eso es tttiiiieeeemmmpoooo.

Saludos
cc e
30/03/17 13:34
Esta parte:

Puedes ejecutar chrome con el modificador --unsafely-treat-insecure-origin-as-secure="http://example.com" (reemplazando "example.com" con el sitio que quieres probar), el cual será tratado como un origen seguro para esta sesión. Debes notar que también debes incluir el modificador --user-data-dir=/test/only/profile/dir para crear un perfil nuevo para que funcione. Debes notar que en Android y ChromeOS requiere que tengas un dispositivo con acceso de root/modo desarrollador

Este punto como lo implementaría?

Haciendo esto solucionaría el problema? O si o si tengo que hacer lo del certificado gratuito?
Dennis Tobar
30/03/17 14:23
Si lo haces, sólo solucionas el problema para ti, y supongo que tú app va a usada por cientos de personas, así que lo mejor es obtener​ el certificado gratuito.  (Si es posible)
cc e
31/03/17 3:28
La aplicación es cerrada, es decir, solo para mi trabajo. De ahí me enfado con estas restricciones, ya que si yo quiero configurar el navegador web según mis requerimientos tengo que tener pleno control en hacerlo. Ni bien pruebe la solución con el navegador te aviso de los resultados. Muchas gracias Dennis!!!
cc e
31/03/17 4:00
Me podrias guir de como implementar el metodo de los modificadores? Intente varias cosas pero no me funciona. gracias.-
Dennis Tobar
31/03/17 4:36
Hola,

No soy usuario de Windows, así que te dejo las [instrucciones desde eHow]
cc e
31/03/17 4:55
Recien logre hacerlo funcionar, te paso adjunto un archivo word con el paso a paso. Yo era usuario de linux, y por cuestiones de laburo estoy embarrandome con esto de windows.

Nose si se alcanza a ver o si se puefe agrandar. Igualmente te paso adjunto el archivo word.


Dennis Tobar
31/03/17 4:59
En --unsafely-treat-insecure-origin-as-secure="http://example.com", pon solamente la URL sin carpetas.

Es decir

--unsafely-treat-insecure-origin-as-secure="http://10.10.1.1"

Acerca del directorio, ni idea :|
cc e
31/03/17 7:18
Listo ya lo solucione. En primer lugar Te agradezco muchisimo tu ayuda.
La solución fue meterle mano al Sevidor Web, y habilitar el SSL autogenerando un certificado. Resulta que el que instalo el IIS tenia menos idea que yo. Pero bue. A golpes se hacen los hombres.
Muy Agradecido Dennis Tobar.
Dennis Tobar
31/03/17 7:22
Wow. Mil gracias a ti por tu perseverancia al buscar la solución: nos costó, pero resultó... ahora has añadido un aprendizaje más en tu carrera ;)

Saludos!
cc e
3/04/17 3:40
NI hablar. muchas gracias. Abrazo!!!!