在 Windows 开发环境上用 WampServer(Apache + PHP + MySQL)做 Web 开发时,启用 HTTPS 能提前暴露证书、CORS、Service Worker、混合内容等在生产会碰到的问题。本文从实操角度讲清如何在 WampServer 上配置 HTTPS、生成/安装证书、常见端口与权限陷阱、如何在手机/真机上验证,以及遇到问题如何用抓包工具定位(包括 Charles/Fiddler/mitmproxy/Wireshark 与真机直连工具 Sniffmaster 的配合方式)。
本地启用 HTTPS 的目的不是生产防护,而是复现:浏览器强制的 Secure Context、Service Worker、HTTP/2、SameSite/Cookie、安全策略、以及 OAuth /第三方回调在 HTTPS 下的行为。提前在本地跑 HTTPS 能避免上线后才发现问题。
httpd-ssl.conf / virtualhost。在 Windows 上可以用 OpenSSL(Wamp 带或自行下载):
1# 生成私钥2openssl genrsa -out server.key 204834# 生成自签证书(交互式填写 CN 使用本地域名,如 mysite.test)5openssl req -new -x509 -key server.key -out server.crt -days 36567# 合并为 pfx(Windows 下某些场景需要)8openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt
注意:浏览器对自签证书默认不信任,需在 Windows 或手机上手动导入并信任(仅做开发)。
编辑 Apache 配置(例如
C:\wamp64\bin\apache\apache2.x.y\conf\extra\httpd-ssl.conf),新增或修改 VirtualHost:
1Listen 443 2<VirtualHost *:443> 3 ServerName mysite.test 4 DocumentRoot "c:/wamp64/www/mysite" 5 SSLEngine on 6 SSLCertificateFile "c:/wamp64/certs/server.crt" 7 SSLCertificateKeyFile "c:/wamp64/certs/server.key" 8 # 如使用 pfx,可在 Windows 上导入到证书存储并用 SSLCertificateFile 指向导出的 crt 9 <Directory "c:/wamp64/www/mysite">10 Require all granted11 AllowOverride All12 </Directory>13</VirtualHost>
在
httpd.conf 中确保加载了
mod_ssl 与
mod_socache_shmcb,并包含
extra/httpd-ssl.conf。保存并重启 WampServer。
netstat -ano | findstr :443 找到进程并释放端口。C:\Windows\System32\drivers\etc\hosts,将
mysite.test 指向
127.0.0.1,手机测试可把开发机 IP 指向同一域名。https://<开发机IP> 或
https://mysite.test(需在手机 hosts 或 DNS 中做映射)。server.crt 导入手机并信任(iOS:描述文件或手动安装并在“证书信任设置”中启用)。如果需要第三方回调(支付、OAuth),本地直接用 HTTPS 有时不够,常用做法是用 ngrok 做公网隧道(
ngrok http 443),或将本地 WampServer 暴露到 ngrok 的 HTTPS 域名。调试时可以同时用本地 HTTPS + ngrok,抓包工具观察到的是从 ngrok 边缘到本地的转发行为,验证 Header、签名是否穿透。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047459/viewspace-3096538/ ,如需转载,请注明出处,否则将追究法律责任。