我想增强服务器的安全性,因此我遵循指导关于服务器安全。我对这个主题还不熟悉,因此有很多东西我很难理解,配置文件中也有很多需要更改的地方。
目前,我正在尝试使用和HttpOnly
标志Secure
设置 cookie 并取消设置X-Powered-By
标头,因此我添加了以下指令/etc/apache2/conf-enabled/security.conf
:
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always unset X-Powered-By
为了测试该指令,我创建了一个简单的 PHP 文件,在其中设置了 cookie 和标头,但我收到的既不是 也不HttpOnly
是Secure
,而且我仍然收到标头。文件夹中
有一个文件,我还检查了 是否已启用,它返回了(以及其他内容)headers.load
mods-enabled
mod_headers
apache2ctl -M
headers_module (shared)
我甚至尝试手动加载模块LoadModule
,日志告诉我模块已经启用,所以我想那边一切都很好。
请注意,我有一个配置为的虚拟主机:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/site.org/privkey.pem
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
</IfModule>
根据我在文档中读到的内容,它应该继承未指定服务器配置的地方,无论如何,我尝试将这些指令放在 VirtualHost 配置中,但没有任何效果。
我正在使用Apache/2.4.29
,我的配置文件是/etc/apache2/apache2.conf
。我肯定我犯了愚蠢的错误,但正如我所说,我是新手!
非常感谢您的帮助。