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

Mac OS High Sierra下Apache Vhost问题:自定义域名自动转HTTPS失效

解决Mac OS High Sierra升级后Apache虚拟主机自动跳HTTPS的问题

我之前升级High Sierra后也碰到过一模一样的Apache虚拟主机问题——localhost路径正常访问,但自定义域名强制跳HTTPS还打不开,大概率是这几个地方出了问题,一步步排查就能解决:

  • 清理浏览器的HSTS缓存
    现代浏览器(Chrome、Safari等)会对曾经使用过HTTPS的域名启用HSTS(HTTP严格传输安全),强制后续请求跳转到HTTPS,哪怕你后来改回HTTP也没用。

    • Chrome:在地址栏输入chrome://net-internals/#hsts,找到「Delete domain security policies」,输入planning.dev后点击删除。
    • Safari:可以直接用隐私浏览模式测试,或者重置浏览器的所有缓存数据。
  • 检查虚拟主机和.htaccess的重定向规则
    打开你的Apache虚拟主机配置文件(通常在/etc/apache2/extra/httpd-vhosts.conf,或者你自定义的vhost配置文件),看看有没有添加强制HTTPS的重写规则,比如:

    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
    

    同时也要检查项目根目录下的.htaccess文件,很多框架(比如Laravel、WordPress)会默认添加HTTPS重定向,不小心开启的话就会导致跳转。

  • 修正Apache全局或虚拟主机的SSL配置
    High Sierra升级后,Apache可能默认启用了mod_ssl模块,或者全局配置里新增了HTTPS相关的规则。你可以:

    1. 打开/etc/apache2/httpd.conf,检查有没有LoadModule ssl_module libexec/apache2/mod_ssl.so这一行,如果不需要全局启用SSL,可以注释掉(但如果其他站点需要HTTPS就别改)。
    2. 在planning.dev的虚拟主机配置里明确指定HTTP端口,并关闭重写引擎(如果不需要的话),示例配置:
    <VirtualHost *:80>
        ServerName planning.dev
        DocumentRoot "/Users/macbook/Sites/planning/public"
        # 禁用重写,避免强制跳转
        RewriteEngine Off
        # 其他原有配置,比如目录权限等
        <Directory "/Users/macbook/Sites/planning/public">
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
  • 确认/etc/hosts文件配置正确
    打开终端输入cat /etc/hosts,检查planning.dev是否仍然指向127.0.0.1,确保没有被修改成其他地址:

    127.0.0.1   planning.dev
    

如果以上步骤都试过还是不行,建议查看Apache的错误日志(路径是/var/log/apache2/error_log),里面会记录具体的跳转触发原因,能帮你更快定位问题。

内容的提问来源于stack exchange,提问作者karmous

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:58:35