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

通过XAMPP在Windows Server部署上线网站遇端口冲突求助

解决Windows Server上XAMPP Apache(81端口)绑定域名访问的问题

下面是几个可行的解决方案,根据你的实际情况选择:

方案1:用IIS做反向代理(推荐,无需停止IIS)

因为你的服务器上IIS已经占用80/443端口,直接利用IIS做反向代理,把域名的80/443请求转发到Apache的81/4433端口:

  • 先在IIS中安装URL重写和**应用程序请求路由(ARR)**模块:通过服务器管理器的「添加角色和功能」,在Web服务器的角色服务里勾选这两个模块;或者直接在IIS管理器的「模块」界面中安装。
  • 新建一个空的IIS网站,绑定你的域名和80端口(HTTP),如果需要HTTPS,再绑定443端口并配置好SSL证书。
  • 配置反向代理规则:
    1. 打开该IIS网站的「URL重写」功能,点击「添加规则」,选择「反向代理」。
    2. 在目标框输入http://localhost:81(对应HTTP请求),如果要处理HTTPS,再添加一条规则指向https://localhost:4433。
    3. 回到IIS服务器级别,找到「应用程序请求路由」,启用「代理」功能。
  • 测试:直接访问你的域名,IIS会自动把请求转发到Apache的81端口,无需在地址栏加端口号。

方案2:调整端口,让Apache监听80/443端口

如果你可以停止或调整IIS的端口,直接把Apache改成默认端口:

  • 先处理IIS:要么停止IIS服务(执行命令net stop w3svc),要么在IIS管理器中把所有占用80/443端口的网站,改成其他端口(比如8080/4430)。
  • 修改Apache配置:
    1. 打开XAMPP的apache/conf/httpd.conf文件,找到Listen 81,改成Listen 80。
    2. 打开apache/conf/extra/httpd-ssl.conf文件,找到Listen 4433,改成Listen 443。
  • 重启Apache服务,此时域名直接访问80端口就会指向你的XAMPP网站。

方案3:用Windows端口转发工具(轻量方案)

通过Windows自带的netsh命令,把80端口的请求转发到Apache的81端口,443转发到4433:

  • 以管理员身份打开命令提示符,执行以下命令:
    # 转发HTTP 80端口到81
    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=127.0.0.1 connectport=81
    # 转发HTTPS 443端口到4433
    netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=443 connectaddress=127.0.0.1 connectport=4433
    
  • 确保Windows防火墙允许80和443端口的入站连接(在防火墙高级设置中添加规则,允许TCP 80/443端口的外部访问)。
  • 注意:这个方案需要先解除IIS对80/443端口的占用,否则会出现端口冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:50:30