我的本地网络上有一台 Linux 服务器,上面运行着一些服务。我希望能够通过我的域名以加密方式访问该服务器,但 LAN 访问仍然免费。我尝试搜索,但一无所获。使用VirtualHost
服务器的内部 IP 再创建一个 IP 地址,这样外部网络就可以在不加密的情况下进行连接。
顺便问一下,是否可以基于同样的理由拒绝访问目录?
编辑:我想我会加密所有内容,而不必费心让 IP 可以访问它
答案1
我找到了答案。我只是没有在路由器上转发端口 80,并在服务器上禁用了 http 到 https 的重定向。
答案2
您可以使用 Apache 的mod_authz_core
访问控制命令 - 这是一个核心模块,您不需要安装或启用任何特殊内容。
查看此处的教程:https://httpd.apache.org/docs/2.4/howto/access.html
<VirtualHost>
要使用它,请在您的某个部分下进行设置<Directory>
- 必须在某个部分中设置此说明,因此即使您计划使用在其他地方配置的默认目录处理,<Directory>
您也应该在您的部分中有一个<Directory>
部分:<VirtualHost>
<VirtualHost *:80>
DocumentRoot "/some/docroot"
ServerName my.domain.com
<Directory "/some/docroot">
<RequireAll>
Require ip 192.168.1.0/24
</RequireAll>
</Directory>
</VirtualHost>
这将导致从您的 LAN 外部(此处表示为 192.168.1.0/24 - 根据您的实际 LAN 地址而变化)对端口 80 的所有调用都收到响应403 Forbidden
。