Saltar al contenido

Solución OJS 3.2 con proxy inverso

Problema: Cuando accedo a https://ojs.midominio.com, los estilos no cargan (la web se ve sin formato), pero si carga bien cuando accedo a mi ip interna o de red local http://10.1.20.82/ porque se trata de un proxy inverso con un servidor virtual.

Solución:

**Archivo modificado**:
`/lib/pkp/classes/core/PKPRequest.inc.php`
**Cambios realizados**: – Línea 151: Reemplacé `function getBaseUrl($allowProtocolRelative = false) {`
por `function getBaseUrl($allowProtocolRelative = true) {`
**Resultado**: Los estilos ahora cargan correctamente bajo HTTPS sin depender del proxy.

También:

  • Editar archivo: config.inc.php con base_url = «https://ojs.midominio.com/»
  • En el Apache, los nombres de los sitios virtuales con los puertos 80 y 443 que tengan el nombre del dominio: ojs.midominio.com

Explicación con DeepSeek

$allowProtocolRelative = true:
Permite que OJS genere URLs con //ojs.midominio.com (sin protocolo explícito), lo que hace que los recursos (CSS, JS, imágenes) hereden el protocolo de la página principal.
Ejemplo: Si la página carga en https://, los recursos también usarán https:// automáticamente.
Evita «Mixed Content»:
Al no forzar http://, el navegador no bloquea los recursos al cargar la página bajo HTTPS.
Mantenible:
No dependes de la IP interna (10.1.20.82) ni de reemplazos manuales en la base de datos o templates.

Publicado enManualesSoftware Libre