http - requested - resources mixed content
¿Por qué de repente me aparece un problema de "Carga bloqueada de contenido activo mixto" en Firefox? (13)
Descubrí que si tiene problemas con la inclusión o la mezcla de su página con algo como http : //www.example.com, puede corregirlo colocando // www .example.com en su lugar
Esta mañana, al actualizar mi navegador Firefox a la última versión (de 22 a 23), algunos de los aspectos clave de mi back office (sitio web) dejaron de funcionar.
En cuanto al registro de Firebug, se informaron los siguientes errores:
Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`
Entre otros errores causados por el último de los dos anteriores no se carga.
¿Qué significa lo anterior y cómo lo resuelvo?
En ausencia de una función de lista blanca, debe elegir "todo" o "nada". Puede deshabilitar completamente el bloqueo de contenido mixto.
La elección de nada
Deberá deshabilitar permanentemente el bloqueo de contenido mixto para el perfil activo actual.
En la "Barra impresionante", escribe "about: config". Si esta es su primera vez, obtendrá el mensaje "¡Esto podría invalidar su garantía!" mensaje.
Sí serás cuidadoso. Sí lo prometes!
Encuentra security.mixed_content.block_active_content . Establece su valor en falso .
La elección de todos
La respuesta de iDevelApp es impresionante.
En la página relevante que hace un contenido mixto de https a http call que no es accesible, podemos agregar la siguiente entrada en la correspondiente y deshacerse del error de contenido mixto.
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Encontré esta publicación de blog que aclaró algunas cosas. Para citar el bit más relevante:
¡El contenido activo mixto ahora está bloqueado por defecto en Firefox 23!
¿Qué es el contenido mixto?
Cuando un usuario visita una página servida a través de HTTP, su conexión está abierta para ataques de espionaje y de hombre en el medio (MITM). Cuando un usuario visita una página servida a través de HTTPS, su conexión con el servidor web se autentica y encripta con SSL y, por lo tanto, se protege de intrusos y ataques MITM.Sin embargo, si una página HTTPS incluye contenido HTTP, los atacantes pueden leer o modificar la parte HTTP, incluso aunque la página principal se sirva a través de HTTPS. Cuando una página HTTPS tiene contenido HTTP, llamamos a ese contenido "mixto". La página web que el usuario está visitando solo está parcialmente encriptada, ya que parte del contenido se recupera sin cifrar a través de HTTP. El Bloqueador de contenido mixto bloquea ciertas solicitudes HTTP en páginas HTTPS.
La resolución, en mi caso, fue simplemente garantizar que las consultas incluidas fueran las siguientes (tenga en cuenta la eliminación del protocolo):
<link rel="stylesheet" href="//code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" type="text/css">
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"></script>
Tenga en cuenta que el ''arreglo'' temporal consiste en hacer clic en el icono ''escudo'' en la esquina superior izquierda de la barra de direcciones y seleccionar ''Deshabilitar la protección en esta página'', aunque esto no se recomienda por razones obvias.
ACTUALIZACIÓN: este enlace de las páginas de soporte de Firefox (Mozilla) también es útil para explicar qué constituye contenido mixto y, como se indica en el párrafo anterior, en realidad proporciona detalles sobre cómo mostrar la página independientemente:
La mayoría de los sitios web continuarán funcionando normalmente sin ninguna acción de su parte.
Si necesita permitir que se muestre el contenido mixto, puede hacerlo fácilmente:
Haga clic en el icono de escudo Escudo de contenido mixto en la barra de direcciones y elija Desactivar protección en esta página del menú desplegable.
El ícono en la barra de direcciones cambiará a un triángulo de advertencia de color naranja Ícono de Identidad de Advertencia para recordarle que se está mostrando contenido inseguro.
Para revertir la acción anterior (volver a bloquear contenido mixto), simplemente vuelva a cargar la página.
Ha dado el error debido a la seguridad. para esto, use "https" no "http" en la url del sitio web.
Por ejemplo :
"https://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
"https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"
Para forzar la redirección en el protocolo https, también puede agregar esta directiva en .htaccess en la carpeta raíz
RewriteEngine on
RewriteCond %{REQUEST_SCHEME} =http
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Si desea permitir la solicitud de contenido mixto, agregue la etiqueta a continuación en la etiqueta <head>
.
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Si desea bloquear, agregue la siguiente etiqueta en la etiqueta <head>
:
<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
Si estás consumiendo un servicio interno a través de AJAX, asegúrate de que la url apunte a https, esto me solucionó el error.
URL inicial de AJAX: " http://XXXXXX.com/Core.svc/ " + ApiName
URL de AJAX corregida: " https://XXXXXX.com/Core.svc/ " + ApiName,
Si su servidor de aplicaciones es weblogic, asegúrese de que exista la entrada WLProxySSL ON (y también asegúrese de que no se comente) en el archivo weblogic.conf en el directorio conf del servidor web. a continuación, reinicie el servidor web, funcionará.
Significa que estás llamando a http desde https. Puede usar src="//url.to/script.js"
en su etiqueta de script y se detectará automáticamente.
Alternativamente, puede usar el uso de https en su src
incluso si lo va a publicar en una página http. Esto evitará el problema potencial mencionado en los comentarios.
Tengo el mismo problema cuando mi sitio va de http a https. Hemos agregado la regla para todas las solicitudes para redireccionar http a https.
Debe agregar la regla de redirección para la solicitud entre sitios, pero debe eliminar la regla de redirección para js / css externos.
Tuve este mismo problema porque compré una plantilla CSS y agarré un archivo javascript externo de javascript a través de http://whatever.js.com/javascript.js
. Fui a esa página en mi navegador y luego la cambié a https://whatever...
usando SSL y funcionó, así que en mi etiqueta HTML javascript acabo de cambiar la URL para usar https
lugar de http
y funcionó.
@Blender Comment es el mejor enfoque. Nunca codifique el protocolo en ningún lugar del código, ya que será difícil cambiarlo si pasa de http
a https
. Ya que necesitas editar y actualizar manualmente todos los archivos.
Esto siempre es mejor ya que detecta automáticamente el protocolo.
src="//code.jquery.com