确认Namecheap + Namecheap MX Records + Heroku HTTPS

时间:2017-12-17 19:28:27

标签: ruby-on-rails email heroku dns namecheap

我发布这个是因为与Namecheap / Heroku相关的其他任何问题都没有帮助过我。

似乎不可能有这两种情况都适用的配置:

  1. https://example.comhttps://www.example.comhttp://example.comhttp://www.example.com最终加载网站
  2. 电子邮件正确路由至contact@example.com
  3. 这似乎不可能的原因是,为了使MX电子邮件记录能够在Namecheap上运行,裸域不得有CNAME记录。但是要使https://example.com起作用,Heroku要求我为裸域设置一个CNAME(host @ with value example.com.herokudns.com)

    我尝试使用针对裸https://www.example.com的裸域的URL重定向记录,但这不包括https://example.com案例。但这是我最接近所有案件的工作方式。

    我最终不在乎是否重定向到www。版。我只需要为裸域和非裸域以及https和非https案例加载内容。

    除了关闭Namecheap之外,我怎样才能正确加载所有域并让电子邮件正常工作?

1 个答案:

答案 0 :(得分:0)

因此,现在可以使用namecheap / heroku进行此配置。

与其选择CNAME记录类型,不如选择ALIAS作为裸域。高级DNS行的Namecheap示例如下:

@SpringBootTest

ALIAS将与TXT和MX一起播放。

要使www工作,只需将www。[yourdomain] .com添加到heroku并在namecheap上为www设置一个CNAME:

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;

@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = { DemoComponent.class, 
                            TimeLoggerAspect.class,
                            AnnotationAwareAspectJAutoProxyCreator.class })
public class DemoComponentFailTest {

  @Autowired
  private DemoComponent demoComponent;

  @Test
  public void shouldLogMethodTiming() {
      demoComponent.sayHello();
  }
}

现在,http到https重定向应由您的应用程序处理。 另外,我只会使用 www naked 中的一个,并在应用程序中使用另一个重写URL或重定向。