Ios 如何在Heroku上使用带有解析服务器的自定义域?

Ios 如何在Heroku上使用带有解析服务器的自定义域?,ios,heroku,parse-server,Ios,Heroku,Parse Server,解析服务器位于Heroku上的myapp.herokuapps.com Heroku应用程序有一个自定义域example.com。该域具有CNAME记录myapp.herokuapps.com 连接Parse iOS SDK适用于端点: https://myapp.herokuapps.com/parse http://myapp.herokuapps.com/parse http://example.com/parse 但这对我来说不起作用 https://example.com/parse

解析服务器位于Heroku上的
myapp.herokuapps.com

Heroku应用程序有一个自定义域
example.com
。该域具有CNAME记录
myapp.herokuapps.com

连接Parse iOS SDK适用于端点:

https://myapp.herokuapps.com/parse
http://myapp.herokuapps.com/parse
http://example.com/parse
但这对我来说不起作用

https://example.com/parse
Xcode控制台显示错误:

An SSL error has occurred and a secure connection to the server cannot be made. (Code: 100, Version: ...)
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9838)

为什么它不工作?

你必须为域名购买SSL证书,Heroku会疯狂地提高收费。这将是200美元/月。或者是一些荒谬的东西,但如果你要有一个生产应用程序,你真的应该有一个。

解决方案是在Heroku应用程序中添加TSL证书。如果您有付费的dyno证书,则无需额外费用即可获得

所有使用付费dynos的应用程序均免费包含ACM

  • 在Heroku仪表板中打开Heroku应用程序
  • 打开“设置”选项卡
  • 域和证书部分
    单击
    配置SSL
    并选择
    使用自动证书管理自动配置
  • 单击
    adddomain
    添加请求应该从中转发的域,例如
    api.example.com
  • 在域注册商的网站上,将
    api.example.com
    CNAME
    设置为Heroku应用程序设置中的域,例如
    api.example.com.herokudns.com
  • 等待Heroku仪表板中的域状态为
    Done

  • 有效。

    Heroku允许您添加自己的TSL证书或为您添加一个。所有使用付费dynos的应用程序都免费提供自动证书管理。在Heroku app>Settings中添加证书后,它可以正常工作。