Heroku上React应用添加www前缀无法访问的技术咨询
Heroku默认域名的www访问问题解析
嘿,我来帮你理清这个问题:
首先,你执行heroku domains后看不到www.前缀是完全正常的。Heroku给未使用自定义域名的默认应用分配的域名只有[app-name].herokuapp.com这一种形式,它不会自动为你创建对应的www.[app-name].herokuapp.com子域名,所以这个查询结果完全符合预期。
为什么带www的地址无法访问?
- Heroku根本没有为你的应用配置
www.ninnycode-f.herokuapp.com的DNS记录,当你访问这个地址时,DNS系统找不到对应的服务器地址,自然无法加载页面。 - 而
ninnycode-f.herokuapp.com是Heroku默认配置好的官方域名,所有解析和服务器配置都已就绪,所以能正常访问。
关于安全状态的问题
你提到不带www的域名可访问但默认不安全,这是因为你可能用的是HTTP协议访问(比如直接输入http://ninnycode-f.herokuapp.com)。Heroku的默认域名其实是支持HTTPS的,你直接访问https://ninnycode-f.herokuapp.com就能看到浏览器的安全锁标识了。如果想强制所有HTTP请求跳转到HTTPS,可以在你的React应用里添加重定向逻辑,或者利用Heroku的配置来实现。
想要支持www前缀怎么办?
不过说实话,对于Heroku的默认herokuapp.com域名来说,添加www前缀意义不大,而且操作起来也有局限:
- 你没法直接在Heroku里为
herokuapp.com后缀的域名添加www子域名(这是Heroku的官方域名后缀,不允许用户自定义子域名)。 - 就算你想做重定向,也得先让www域名能解析到你的应用,但这一步在默认域名下根本做不到。
所以建议你就用默认的ninnycode-f.herokuapp.com域名访问就好,记得用HTTPS协议来保证安全。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

