V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rv54ntjwfm3ug8
V2EX  ›  程序员

为什么 ASP.NET Core 对开发环境默认开启 HTTPS?

  •  
  •   rv54ntjwfm3ug8 · 2022-04-05 23:32:38 +08:00 · 1576 次点击
    这是一个创建于 988 天前的主题,其中的信息可能已经有所发展或是发生改变。

    难道 127.0.0.1 还能被劫持?生产环境不一般都是套反代的,HTTPS 也是在反代实现吗?

    6 条回复    2022-04-06 09:59:01 +08:00
    kiracyan
        1
    kiracyan  
       2022-04-05 23:34:41 +08:00
    不是有两个端口吗
    rv54ntjwfm3ug8
        2
    rv54ntjwfm3ug8  
    OP
       2022-04-05 23:42:46 +08:00
    @kiracyan

    1.要手动删跳转代码访问 HTTP 才不会跳 HTTPS
    2.Angular 那个模板删了跳转代码还会跳 HTTPS 的 Angular Server ,要删好几处才能不跳

    3.我只是想问问这样做的目的是什么,真的会更安全吗,如果是为了开发 PWA 我记得 localhost 有 HTTPS 豁免
    sunhelter
        3
    sunhelter  
       2022-04-05 23:48:34 +08:00
    因为自带 Kestrel 作为 Server ,实际生产可以直接用,也可以用反代
    moen
        4
    moen  
       2022-04-05 23:49:34 +08:00
    根据 https://devblogs.microsoft.com/dotnet/configuring-https-in-asp-net-core-across-different-platforms/ 里说法是为了提供一个接近使用生产环境的开发环境,而这种开发环境的需求可能和 web 前端里调用浏览器的某些功能强制 https 有关。至于反代的话,有些人不一定喜欢在开发环境额外部署。可能会存在部署多个主机调试的需求,这时候就用不了 localhost 了
    poorcai
        5
    poorcai  
       2022-04-06 08:38:48 +08:00
    好像在新建项目时有一个是否启用 https 的勾选框?
    vone
        6
    vone  
       2022-04-06 09:59:01 +08:00   ❤️ 1
    1 、创建项目时可以选择是否使用本地 https
    2 、反代是 Kestrel 或者 IIS Express ,取决于你项目的启动方式
    3 、开启本地 HTTPS 的原因是因为浏览器部分新特性只在安全上下文里可用,参考链接: https://developer.mozilla.org/zh-CN/docs/Web/Security/Secure_Contexts
    http://permission.site/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1844 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:20 · PVG 00:20 · LAX 08:20 · JFK 11:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.