SSL文件夹 - 访问不安全的内容

时间:2012-02-21 12:23:27

标签: php ssl

我有一个SSL文件夹以及我网站的非SSL部分。

如果我在我的SSL文件夹中,引用SSL“包装器”之外的任何不安全图像会在FF中显示“您正在查看的页面部分在通过Internet传输之前未加密”。预期

我通常处理此问题的方法是在SSL文件夹中制作我的images文件夹的副本。但这可能会成为管理员的噩梦,因为我有两套图像需要更新。

是否可以使用其他方法引用内容?也许使用PHP的文档根?推荐的方法是什么?

2 个答案:

答案 0 :(得分:1)

符号链接

如果你在Linux机器上,那么你可以使用symlink将整个httpdocs文件夹别名到https目录。

ln -s /var/www/vhosts/example.org/httpdoc /var/www/vhosts/example.org/httpsdoc

这被描述为

ln -s source_file link_name

这样,httpdocs中的所有内容都可以通过httpsdocs提供给服务器,而无需复制任何内容。显然,如果你不想整个符号链接,你可以只对符号链接你的图像目录。

您可以在无法更新虚拟主机容器的框中使用此功能。

更改虚拟主机配置

这当然会导致对http和https的所有访问都可以访问同一文档根目录中的文件。

将vhost配置更改为:

# Virtual Hosting
<VirtualHost *:80>
    <IfModule mod_ssl.c>
        SSLEngine off
    </IfModule>
    Include /etc/apache2/server-vhost.conf
</VirtualHost>


# SSL Virtual Hosting
<VirtualHost *:443>
    <IfModule mod_ssl.c>
        SSLEngine on
        SSLOptions +StrictRequire
        SSLCertificateFile /etc/ssl/certs/server.crt
        SSLCertificateKeyFile /etc/ssl/private/server.key
    </IfModule>
    Include /etc/apache2/server-vhost.conf
</VirtualHost>

然后创建/etc/apache2/server-vhost.conf,由上面两个vhost配置中的Include行引用:

ServerName example.org
ServerAdmin example@example.org
DocumentRoot /var/www/vhosts/example.org/httpdoc

答案 1 :(得分:0)

您可以使用图像的相对路径。在他的情况下,将使用与页面本身相同的协议,HTTPS页面的HTTPS和HTTP页面的HTTP来请求图片。

编辑:

由于我们不知道目录结构,我添加了一个我的意思的小例子。

root/http/index.html
root/https/index.html
root/img/button.png

如果我们在root/http/index.html中有一个文件root/img/button.png和一张图片,我们可以使用相对路径../img/button.png,无论页面位于http还是https子目录中,这都会有效