DrS*_*ker 34 ssl https apache-2.2
我有一个带有 SSL 证书的 Apache 2.2 服务器,它托管了几个只能使用 SSL 访问的服务。
即:https://myserver.com/topsecret/应该被允许,而http://myserver.com/topsecret/应该被拒绝,或者理想情况下,重定向到 https。
http://myserver.com/public不应该有这个限制,并且应该使用 http 或 https 工作。
允许/拒绝 http 的决定是在顶级目录中做出的,并影响其下的所有内容。
是否有可以在 Apache 配置中放置的指令以这种方式限制访问?
Tho*_*mas 39
该SSLRequireSSL指令是你在找什么。
<VirtualHost>
如果您不使用虚拟主机,则在您的, 或顶层:
<Directory /topsecret>
SSLRequireSSL
</Directory>
Run Code Online (Sandbox Code Playgroud)
或在.htaccess
:
SSLRequireSSL
Run Code Online (Sandbox Code Playgroud)
小智 8
在全局配置中,您可以使用:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}/%{REQUEST_URI} [R=301,L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
同样,您可以在安全目录树的第一个目录中使用 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}/%{REQUEST_URI} [R=301,L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
最后一个也可以放在全局或虚拟主机配置中的目录指令中。
归档时间: |
|
查看次数: |
82119 次 |
最近记录: |