因此,我正在探索 Apache 以创建一个简单的示例:默认页面和目录“安全”。我希望每个人都能够访问服务器,但是,当有人想访问“安全”目录时,我会使用强加密连接。
我正在使用 apache2.4。
但这不起作用,我不知道为什么!
我按照 Apache 教程中的方法进行了操作:
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /home/vitorpereira/Desktop/cert.cer
SSLCertificateKeyFile /home/vitorpereira/Desktop/key.key
</VirtualHost>
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
<Location /var/www/html/secure>
SSLCipherSuite HIGH:!aNULL:!MD5
</Location>
但这不起作用 :/ 而且,我可以使用 http 访问安全文件夹,但是当我写入 https 时,它说未找到!
答案1
考虑一下 HTTPS 的正常工作方式:
- 浏览器连接到启用 SSL 的端口
- SSL 握手发生
- 然后一旦安全隧道建立,就会请求一些内容
- 并且请求得到满足。
您的问题是,您希望服务器根据直到步骤 3 才知道的内容来修改步骤 2。
唯一可行的方法是,如果浏览器在建立任何 SSL 隧道之前告诉服务器它想要什么内容 - 但这首先会消除 SSL 的一半意义,即客户端机密性。
这不太可能实现。