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

如何在Google Compute Engine上为.NET Core项目配置SSL

问题排查与缺失配置说明

1. 程序层面HTTPS配置缺失

  • 你Dockerfile中仅声明了EXPOSE 443,该指令仅做端口声明作用,不会让ASP.NET Core程序实际监听443端口的HTTPS流量。默认容器内运行的ASP.NET Core仅监听HTTP 80端口,你需要额外配置Kestrel服务器的HTTPS监听规则:
    • 配置环境变量指定监听地址:ASPNETCORE_URLS=https://+:443;http://+:80
    • 配置SSL证书路径与密码的环境变量:
      ASPNETCORE_Kestrel__Certificates__Default__Path=/path/to/your/ssl_certificate.pfx
      ASPNETCORE_Kestrel__Certificates__Default__Password=your_certificate_password
      
    • 证书需要使用你子域名对应的有效SSL证书,可通过公开可信的证书颁发机构申请。

2. GCP防火墙规则未开放443入站流量

  • Google Cloud Compute Engine默认会阻断所有未主动放行的入站流量,你HTTP可正常访问是因为默认或者你手动开放了80端口的入站规则,需要补充配置VPC入站防火墙规则:
    • 规则方向选入站,目标选择你的对应实例,源IP范围按需配置(公网访问可填0.0.0.0/0),协议和端口选择TCP:443,放行流量。

3. 容器端口映射配置缺失

  • 启动容器时需要显式将宿主机的443端口映射到容器内的443端口,在docker run指令中添加参数-p 443:443,否则宿主机443端口没有进程监听,会直接拒绝连接请求。

4. 可选:宿主机反向代理配置

  • 如果你在实例宿主机上部署了Nginx、Apache等反向代理服务,还需要额外配置反向代理的HTTPS站点规则,绑定SSL证书,将443端口的流量转发到容器对应的端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:27:01