当前位置: 首页 > 知识库问答 >
问题:

使用Nginx防止Joomla安装/运行的混合SSL内容

赏梓
2023-03-14

我一定错过了一些明显的东西,但我不能安装Joomla 3.6.5在一个SSL已经到位的网站上,由于混合内容。

我在浏览器控制台中获得以下内容:

欣赏关于如何避免仅仅为了安装Joomla而关闭SSL的想法。

事实证明,这是一个与使用反向代理(如Nginx)终止SSL有关的问题,并且考虑到Joomla V3.6的编写操作方式,这不会影响Apache。

共有1个答案

上官恩
2023-03-14

首先,截至2016年12月30日,GitHub对Joomla V3.7.x beta的测试似乎表明,该版本不存在此问题。该版本无需进一步干预即可安装和操作。

这是用proxy_set_header X-Forwarded-Proto$scheme进行测试的;已经到位,但不需要在configuration.php中设置live_site变量。

如果您试图在一个已经使用SSL和严格的传输策略等保护的站点上安装,由于内容混合,安装将失败。当您在填写安装步骤3中的第1步的项目后按下“下一步”时,会触发此失败。

为了解决这个问题,您必须进行一些黑客攻击:

  • /installation/template/js/installation.js中的第357行附近,将baseurl=_base;更改为baseurl=_base.replace(“http://”,“https://”);
  • 保存,然后开始安装。

如果在执行此操作之前已经加载了安装页,请记住清除浏览器缓存。

关键是要记住不要在Configuration.php或Joomla管理中的全局配置中设置force_ssl参数。默认值“0”并不意味着使用NONSSL,而是维护用于当前请求的协议。请参见/libraries/joomla/application/route.php中的注释。

  • 在Joomla中,将configuration.php中的live_site变量设置为https://example.com/path/to/Joomla
  • 在Nginx中,在处理PHP
  • 的位置块中设置 fastcgi_param HTTPS“on”;

(按最不需要的方法排序)

    null

注意,mod_rpaf有两个版本。旧的、带有“0.6”版本标签的原始版本最有可能在web搜索后找到。

虽然它可以很好地从反向代理转发真实的IP,但它不做这里需要的其他事情。较新的,自主开发的,转发真正的IP,真正的端口,和,真正的协议。

不幸的是,如果使用包管理器安装,您几乎肯定会得到较旧的版本。所以从GitHub下载并手动安装

    null
    null
  1. https://joomla.stackexchange.com/questions/1021/reverse-ssl-proxy-support
  2. https://forum.joomla.org/viewtopic.php?t=845318p3313092
  3. https://www.hiawatha-webserver.org/forum/topic/1906
 类似资料:
  • 以下脚本可以防止安装程序重复运行: Function .onInit InitPluginsDir ;创建互斥防止重复运行 System::Call 'kernel32::CreateMutexA(i 0, i 0, t "WinSnap_installer") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_IC

  • 我有一个引导弹出框,它在输入的

  • 我是新来的玻璃鱼和SSL。我使用ubuntu 14.04服务器和下载certbot。由于certbot自动化不支持glassfish服务器,我安装了certbot自动独立,并获得了我的新证书文件(cert1.pemchain1.pemfullchain1.pemprivkey1.pem)。我在网上看到了一些关于在glassfish上安装ssl的教程,但没有与certbot. pem证书相关的内容。

  • 问题内容: 我已经配置了一个Docker容器来运行Nginx并设置/ etc / nginx / sites-available / default文件,如下所示 运行docker容器时,我在主机上映射了/ etc / ssl / certs和/ etc / ssl / private文件夹 并且映射的/ t-base / log文件夹中的nginx错误日志文件保持为空。 其次是 刚回来并说ngi

  • 问题内容: 我有一个表单(正在通过GET提交)到crm(ViciDial)。我可以成功提交表单,但是如果我这样做,则crm的处理文件将仅回显成功文本,仅此而已。 我想在我的网站上显示一个谢谢页面,而不是该文本,所以我决定使用AJAX提交表单并将其重定向到我需要的页面,但是在浏览器中出现此错误: 混合内容:“ https://page.com”上的页面已通过HTTPS加载,但请求了不安全的XMLHt

  • 我正在尝试在Windows Server 2012 R2上启用Apache Server(XAMPP)上的SSL。我有来自证书颁发机构的签名证书。 按照安装说明,将私钥、服务器证书和中间CA证书正确复制到正确目录,并在httpd-ssl文件中进行必要的证书名称路径设置。