You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache虚拟主机配置:实现仅本地访问并通过SSH隧道访问的需求

Apache虚拟主机配置:实现仅本地访问并通过SSH隧道访问的需求

我来帮你搞定这个需求!咱们一步步调整配置,既能让subd.site2.com仅在Apache服务器本机可访问,又能通过SSH隧道从你的远程终端正常访问内容。

1. 修改虚拟主机配置,限制仅本地访问

打开你的subd.site2.com.conf文件,把原来的虚拟主机绑定范围从所有地址改成仅服务器本地回环地址,同时添加访问控制规则,确保只有本地请求能进入这个虚拟主机:

<VirtualHost 127.0.0.1:80>
    ServerName subd.site2.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/site2/public_html

    # 明确允许仅本地IP访问
    <RequireAll>
        Require ip 127.0.0.1
        Require ip ::1
    </RequireAll>
</VirtualHost>

2. 完善Alias对应的目录权限配置

你的mysite_apache.conf已经配置了Alias,但需要补充目录权限规则,避免Apache返回403禁止访问错误:

Alias /site2 /var/www/site2/public_html

<Directory /var/www/site2/public_html>
    # 允许本地回环地址访问(SSH隧道转发的请求会被识别为本地)
    Require ip 127.0.0.1
    Require ip ::1

    # 可选:允许目录索引、跟随符号链接,根据你的需求调整
    Options Indexes FollowSymLinks
    AllowOverride None
</Directory>

3. 重启Apache让配置生效

保存所有修改的配置文件后,执行以下命令重启Apache服务:

sudo systemctl restart apache2

4. 验证SSH隧道访问

你之前的隧道命令是正确的,执行这条命令建立本地8888端口到服务器80端口的转发:

sudo ssh -i .ssh/key.pem admin@1.2.3.4 -L 8888:127.0.0.1:80

隧道建立后,在你本地的浏览器或终端访问http://127.0.0.1:8888/site2,请求会通过SSH隧道转发到服务器的本地回环地址,匹配到我们配置的规则,就能正常访问内容了。而外部直接访问http://subd.site2.com会因为虚拟主机仅绑定到服务器本地,无法被外部请求触发,完美实现你的临时配置需求。

备注:内容来源于stack exchange,提问作者PhönixGeist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 09:09:35