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

如何在Windows浏览器访问WSL中带HTTPS代理的Next.js开发服务器?

解决WSL2中Next.js HTTPS服务无法在Windows浏览器访问的问题
  • 确保Next.js服务绑定所有网络接口
    默认next dev仅绑定127.0.0.1,仅限WSL内部访问。启动时需指定绑定全接口:

    next dev -H 0.0.0.0
    
  • 调整local-ssl-proxy监听地址
    local-ssl-proxy默认可能仅监听127.0.0.1,修改启动命令让它监听所有可用接口:

    local-ssl-proxy --source 3000 --target 3001 --cert ./your-cert.pem --key ./your-key.pem --hostname 0.0.0.0
    

    (替换--source/--target为你实际使用的端口,--cert/--key为mkcert生成的证书文件路径)

  • 修正Windows Hosts映射
    WSL2采用NAT网络,和Windows不在同一本地回路。在WSL终端执行hostname -I获取WSL的IP地址(格式类似172.18.xxx.xxx),然后编辑Windows的C:\Windows\System32\drivers\etc\hosts文件,添加:

    172.18.xxx.xxx  your-custom-domain.local
    
  • 让Windows信任mkcert根证书
    WSL中生成的证书默认不被Windows系统信任,需手动安装根证书:

    1. 在WSL中执行mkcert -CAROOT,找到根证书存储目录(比如/home/your-user/.local/share/mkcert)
    2. 将目录下的rootCA.pem复制到Windows本地路径(比如C:\temp)
    3. 双击rootCA.pem → 点击「安装证书」→ 选择「本地计算机」→ 选择「将所有证书放入下列存储」→ 勾选「受信任的根证书颁发机构」→ 完成安装流程
  • 配置Windows端口转发(可选,解决WSL IP变动问题)
    WSL2重启后IP会自动变更,可通过PowerShell设置端口转发,让Windows的3000端口映射到WSL的对应端口:

    netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=WSL_IP
    

    若想自动更新转发规则,可编写批处理脚本,每次启动WSL时自动执行(需管理员权限)。

  • 验证防火墙设置
    临时关闭Windows防火墙测试是否能访问,若可以,再添加入站规则:允许TCP 3000端口的所有连接,或者指定WSL的IP段作为允许来源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:22:12