2017-12-31 136 views
1

이것은 구식 Q & 스타일 공유입니다.정점과 하위 도메인으로 cloudflare + heroku 설정

heroku와 cloudflare 사이에 약간의 문제가 발생하여 약간의 두통이 생겼습니다. 최신 docs/articles는 여기에 표시되지 않으므로 참조 용으로 게시하려고합니다. 다른 사람들에게 두통이나 두 가지를 저장합니다. 제안 된 수정/개선을 환영합니다.

그래서, 질문은 내가 어떻게 cloudflare + heroku를 설정하여 apex domain/subdomains에 대한 SSL과 DNS 설정을 사용합니까?

답변

0
  1. 네임 서버 :cloudflare 계정, 무료 계획을 수립하거나, 귀하의 사이트를 추가 할 수 있습니다. 그냥 자동으로 물건을 가져 오게하고, 끝까지 도달하고 cloudflare가주는 네임 서버에 주목하십시오. 사이트가 주차 된 곳으로 이동하여 네임 서버가 cloudflares를 가리 키도록 업데이트하십시오.

  2. Cloudflare DNS : 가장 기본적인 설정 (www 및 apex)은 ... 대시 보드 (앱) 설정에서 heroku에 사용자 정의 도메인을 추가했는지 확인하십시오. 따라서 각각 example.comwww.example.com이됩니다. Heroku는 www.example.com.herokudns.comexample.com.herokudns.com으로 표시해야합니다. 비슷하게, cloudflare의 DNS 탭으로 가셔서 모든 것을 삭제 하시길 바랍니다. (이유가없는 한 ....) C-NAME 레코드가 2 개 있습니다. 첫 번째 (www)는 www.example.com.herokudns.com을 가리키고 두 번째 C-NAME은 C-NAME 병합을 이용합니다. 이 값은 www.example.com.herokudns.com을 가리키는 example.com으로 설정됩니다. 여러 도메인? 적절^

  3. 위의 확인 반복 :을 모든 것을 전파하고 설치가 제대로 onlinecurl.com로 이동하여 server 필드 cloudflare으로 표시됩니다 있는지 확인하기 위해 명령 curl -i url를 사용의 경우.

  4. SSL 문제 : heroku vs cloudflare의 SSL. SSL 인증서를 자동으로 관리하도록 Heroku를 설정했다면 여기에 문제가있을 것입니다. Cloudflare의 CRYPTO 탭 아래에 SSL을 설정해야합니다. 원하는 용도에 맞게 말하십시오. 의 원천 인증서로 이동하여을 만듭니다. 도메인을 추가하여 인증서와 키를 메모하십시오. heroku (으)로 이동 .... 사용하는 경우 자동 SSL 구성을 제거하십시오. 명령 행에서 heroku certs:auto:disable을 사용하여이를 수행하고이를 확인할 수 있습니다. 그런 다음 앱의 설정 탭에서 직접 추가를 클릭하십시오. heroku 프롬프트의 처음 두 필드에 cert/key를 입력하십시오. cloudflare로 돌아가서 .... 서버 유형이 apache, nginx, windows 옵션 대신 Other으로 설정되어 있는지 확인하십시오. 이 기능은 단일 프로젝트에서 여러 도메인과 cloudflare를 통해 만든 단일 도메인/인증서에 대해서만 작동하며 해당 도메인에 대한 사용자 정의 인증서가 필요합니다.

  5. HTTPS 적용 : HTTP를 HTTPS로 강제 설정하는 페이지 규칙을 설정할 수 있으며 암호화 탭 아래에는 항상 HTTPS를 사용할 수있는 옵션이 있습니다.

  6. Gotchas : 분명히 상황이 전파 될 때까지 기다려야합니다. 그러나 컴퓨터가 DNS 항목을 캐시하면 변경 사항이 영향을 미치지 않을 것입니다. DNS가 작동하지 않는다면 간단한 수정으로 플러시 할 수 있습니다. 더 복잡한 경로를 취해야합니다. 단순화를 위해 창을 사용하고 있다고 가정하면 ipconfig /flushdns을 사용하면됩니다.

  7. 확인 : 모든 프로토콜/도메인 혼합이 작동하는지 확인하십시오 (apex 및 sub). 의미, https://www.example.com, http://www.example.com, https://example.comhttp://example.com가 작동합니다. 기본 도메인은 www.example.com으로 전달되어야하며 http는 https로 전달되어야합니다. 물론 ssl이 올바르게 설정되어 있는지 확인하십시오.