ant*_*a40 4 centos apache-2.4 google-cloud-platform
我有一个网站(在 Google Cloud 的 CentOS 上运行,Apache 2.4.37),它的名称是 Awesomesite.co.id。
该网站上的某些页面,例如 Awesomesite.co.id/dev123/secret.html 不应从任何网络访问,除了白名单 IP 之外。这就是我已经做的:
/etc/httpd/conf.d/awesome-site.conf。我把2个IP列入白名单。 <VirtualHost *:80>
ServerName awesomesite.co.id
DocumentRoot /var/www/html/awesome
ErrorLog /var/log/httpd/awesome-site-error.log
CustomLog /var/log/httpd/awesome-site-requests.log combined
#commented for testing PHP proxy, allow both http and https work
RewriteEngine on
RewriteCond %{SERVER_NAME} =awesomesite.co.id
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<Directory /dev123/*>
Order deny,allow
Deny from all
Allow from 123.123.100.100
Allow from 200.200.44.59
</Directory>
Run Code Online (Sandbox Code Playgroud)
systemctl restart http.service我尝试在一些移动设备(所有不同的电信提供商)上访问awesomesite.co.id/dev123/secret.html。结果是所有设备都可以正常访问该页面。
那么正确的做法是什么呢?
Allowmod_access_compat 提供的、Deny和指令Order从版本 2.4 开始已弃用,并且不再起作用。
改用Require:
Require ip 123.123.100.100
Require ip 200.200.44.59
Run Code Online (Sandbox Code Playgroud)
该Require指令由模块提供mod_authz_host。
更多信息可以在Apache HTTP Server 文档中找到
请注意,CIDR 范围也是Require ip 200.200.44.0/24可能的(更多示例请参见此处):
在第二种形式中, ip.address 是 IP 地址、部分 IP 地址、网络/网络掩码对或网络/nnn CIDR 规范。可以使用 IPv4 或 IPv6 地址。
| 归档时间: |
|
| 查看次数: |
11915 次 |
| 最近记录: |