跳转到内容

Windows 上的 Apache 2.4:遗留路径,不是默认选择

核验于 1 分钟阅读

只在兼容场景用 Apache 2.4:选可信二进制、配置 httpd.conf、安装服务,并理解反代与 Windows 限制。

测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1
版本号
26100.33650
版本
Standard / Datacenter
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
厂商

Apache 2.4 能在 Windows 跑,但它是兼容路径:

  • ASF 不发布官方 Windows 二进制;多数团队用 Apache Lounge 构建;
  • Windows 用 mpm_winnt,不是 Linux 的 MPM;
  • 模块更少、性能特性不同;
  • Windows 上通常 IIS 或 Nginx 更合适。

只在应用/厂商要求、或迁移既有 .htaccess/httpd 配置时用 Apache。

  1. 取可信 x64 构建(Apache Lounge 或你已在打补丁的厂商)。
  2. 解压到 C:\Apache24(无空格)。
  3. 改 conf/httpd.conf:
    • ServerRoot "C:/Apache24"
    • IIS 占 80 就 Listen 8080
    • DocumentRoot "C:/sites/lab"
    • <Directory "C:/sites/lab"> 里 Require all granted
  4. 测配置并装服务:
终端窗口
C:\Apache24\bin\httpd.exe -t
C:\Apache24\bin\httpd.exe -k install
C:\Apache24\bin\httpd.exe -k start

配置路径用正斜杠。httpd -t 通过再 -k start。

只开应用需要的:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so

mod_proxy 不限制会变开放代理。ProxyRequests Off,只代理已知上游:

ProxyRequests Off
ProxyPass "/app/" "http://127.0.0.1:3000/"
ProxyPassReverse "/app/" "http://127.0.0.1:3000/"

ProxyPassReverse 改写重定向;没有它,应用可能跳到内部主机名。

Listen 443
<VirtualHost *:443>
ServerName lab.local
SSLEngine on
SSLCertificateFile "C:/Apache24/conf/lab.crt"
SSLCertificateKeyFile "C:/Apache24/conf/lab.key"
DocumentRoot "C:/sites/lab"
</VirtualHost>

还是 PEM;不直接读 Windows 证书存储。用 httpd -t 和 openssl s_client 测。

主题 Windows Apache
官方二进制 ASF 不提供;用可信构建
MPM mpm_winnt
.htaccess 能用,但每请求开销;优先 vhost 配置
服务 httpd -k install
性能 不等价 Linux
HTTP/3 看构建/模块,不能假设
  • 映射 DocumentRoot 和 vhost。
  • 逐条迁 LoadModule 和 .htaccess 规则;httpd -t 测。
  • 移 TLS PEM/key 并设 ACL。
  • 替换 ProxyPass 目标,验证 ProxyPassReverse。
  • 测 Host 头、重定向、上传和日志。
  • 如果 Apache 只是历史包袱,目标还是 IIS/Nginx。

E1。实验室没有安装 Apache。命令和配置是迁移起点;具体构建/模块在 Server 2025 上验证。

来源