如何通过移动设备访问443端口的Apache Virtual Host HTTPS服务
正确配置Apache虚拟主机HTTPS访问方法
你当前使用的https://192.168.1.152/www.ABC.local写法不符合虚拟主机的访问规则:Apache的虚拟主机是基于请求头的Host字段、端口、IP来识别对应站点的,无法把IP路径中的字段当做虚拟主机域名解析。
步骤1:调整Apache虚拟主机配置
你可以二选一选择适合你的配置方案:
- 方案A:基于域名的虚拟主机配置
编辑Apache的虚拟主机配置文件,新增443端口的HTTPS站点配置,示例如下:
配置完成后重启Apache服务生效,对应重启命令:<VirtualHost *:443> ServerName www.ABC.local DocumentRoot "你的站点本地根目录绝对路径" SSLEngine on # 换成你自己的HTTPS证书路径,局域网用mkcert生成的自签证书即可 SSLCertificateFile "/path/xxx.pem" SSLCertificateKeyFile "/path/xxx.key" <Directory "你的站点本地根目录绝对路径"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>- Windows环境:
httpd -k restart - Debian/Ubuntu环境:
systemctl restart apache2 - CentOS/RHEL环境:
systemctl restart httpd
- Windows环境:
- 方案B:基于IP的虚拟主机配置(无需改hosts)
如果你不想额外配置域名解析,直接把站点绑定到局域网IP即可,配置示例如下:
配置完成后同样重启Apache生效。<VirtualHost *:443> ServerName 192.168.1.152 DocumentRoot "你的站点本地根目录绝对路径" SSLEngine on SSLCertificateFile "/path/xxx.pem" SSLCertificateKeyFile "/path/xxx.key" <Directory "你的站点本地根目录绝对路径"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
步骤2:配置终端访问
- 如果你选了方案A(域名配置):
- 确保运行Apache的电脑和测试手机连接同一局域网,确认电脑局域网IP为
192.168.1.152,关闭电脑防火墙的443端口拦截 - 电脑端修改hosts文件,新增一行
192.168.1.152 www.ABC.local,访问https://www.ABC.local确认站点正常运行 - 手机端修改对应WIFI的hosts解析,或者安装局域网DNS服务把
www.ABC.local指向192.168.1.152,之后访问https://www.ABC.local即可
- 确保运行Apache的电脑和测试手机连接同一局域网,确认电脑局域网IP为
- 如果你选了方案B(IP配置):
确认设备在同一局域网后,手机直接访问https://192.168.1.152即可
步骤3:摄像头调用适配注意
- 自签HTTPS证书需要在手机系统中安装并信任后,浏览器才会开放摄像头调用权限
- 测试阶段可以临时绕过证书限制:安卓Chrome浏览器访问
chrome://flags,找到unsafely-treat-insecure-origin-as-secure配置项,填入你的站点地址后重启浏览器即可临时获取权限。
内容的提问来源于stack exchange,提问作者Keing Ruekpisut
相关产品推荐
相关产品推荐

