Angular15部署IIS/Nginx后远程访问遇net::ERR_SSL_PROTOCOL_ERROR求助

问题描述
我已在Windows服务器的IIS上部署Angular 15应用,服务器本地localhost访问正常,但通过其他IP地址访问时出现SSL_PROTOCOL_ERROR。我未在应用或IIS中配置任何HTTPS,这只是一台开发服务器。
补充说明:安装了Nginx并通过它部署应用,但问题仍存在。Angular仍通过HTTPS获取dist文件,仍在寻找解决方案。
解决方案
- 检查Angular项目配置:打开项目根目录下的
angular.json,找到architect > build > options节点,确认ssl字段设置为false;同时检查architect > serve > options里的ssl也为false。如果之前使用过ng serve --ssl启动项目,配置可能被自动修改。 - 清除浏览器缓存:强制清除浏览器的HTTP/HTTPS缓存(比如Chrome按
Ctrl+Shift+Delete,勾选「缓存的图像和文件」「Cookie和其他网站数据」后清除),避免浏览器因缓存强制走HTTPS协议。 - 修正Nginx配置:确保Nginx仅监听80端口(HTTP协议),无HTTPS跳转规则。参考配置如下:
server { listen 80; server_name 你的服务器IP地址; root D:/path/to/your/angular/dist; # 替换为实际dist文件夹路径 index index.html; location / { try_files $uri $uri/ /index.html; # Angular单页应用路由兼容 } }
- 检查IIS站点配置:确认IIS中目标站点仅绑定HTTP(80端口),无HTTPS绑定记录;同时检查站点是否存在强制HTTPS的重定向规则,若有则删除。
- 确认Angular构建参数:部署时若使用
ng build --base-href参数,确保指定的是HTTP地址(如http://你的IP/),而非HTTPS地址。 - 排查服务器防火墙:确保服务器的80端口已对外网开放,避免因端口不可达导致浏览器自动尝试HTTPS连接。
内容的提问来源于stack exchange,提问作者azerELweed
相关产品推荐
相关产品推荐

