Domaines et DNS - Associer url ovh à une web app Heroku
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Associer url ovh à une web app Heroku

Von
CharlesF1
Erstellungsdatum 2019-02-11 12:37:18 (edited on 2024-09-04 12:58:34) in Domaines et DNS

Bonjour,

J'essaye d'associer une adresse url ovh à une app heroku :

exemple depuis Heroku :

> heroku domains:add example.com
> Adding example.com to ⬢ example-app... done
> ▸ Configure your app's DNS provider to point to the DNS Target
> ▸ whispering-willow-5678.herokudns.com.
> ▸ For help, see https://devcenter.heroku.com/articles/custom-domains

> The domain example.com has been enqueued for addition
> ▸ Run heroku domains:wait 'example.com' to wait for completion


Dans la zone dns ovh :
- j'entre une nouvelle entrée cname :
- je rentre dans l'input cible le target dns donnée par Heroku
- j'obtient un message d'erreur :

`Le sous-domaine est déjà utilisé par un autre enregistrement. Un enregistrement CNAME n'est pas autorisé à coexister avec d'autres champs sur le même sous-domaine.`

et je suis cette documentation technique d'heroku:

https://devcenter.heroku.com/articles/custom-domains#add-a-custom-root-domain

voici le document textuel d'ovh:

> $TTL 3600
> @ IN SOA dns109.ovh.net. tech.ovh.net. (2019021103 86400 3600 3600000 300)
> IN NS dns109.ovh.net.
> IN NS ns109.ovh.net.
> IN MX 1 redirect.ovh.net.
> IN A 213.186.33.5
> IN TXT "1|www.rvbapp.ovh"
> 600 IN TXT "v=spf1 include:mx.ovh.com ~all"
> _autodiscover._tcp IN SRV 0 0 443 mailconfig.ovh.net.
> _imaps._tcp IN SRV 0 0 993 ssl0.ovh.net.
> _submission._tcp IN SRV 0 0 465 ssl0.ovh.net.
> autoconfig IN CNAME mailconfig.ovh.net.
> autodiscover IN CNAME mailconfig.ovh.net.
> ftp IN CNAME rvbapp.ovh.
> imap IN CNAME ssl0.ovh.net.
> mail IN CNAME ssl0.ovh.net.
> pop3 IN CNAME ssl0.ovh.net.
> smtp IN CNAME ssl0.ovh.net.
> www IN TXT "l|fr"
> www IN TXT "3|welcome"

C'est la première fois que j'utilise ovh.
J'ai pu suivre différent post comme :
https://community.ovhcloud.com/community/fr/redirection-vers-app-heroku?id=community_question&sys_id=0153f58881928210f0780f07683eb2d1

ou encore via :

http://lkdjiin.github.io/blog/2018/08/30/heroku-ovh-les-naked-domains-et-les-dns/

Mon objectif est d'associer l'url ovh sur mon app Heroku avec la manière la plus propre possible...

en vous remerciant,


17 Antworten ( Latest reply on 2019-06-14 13:38:30 Von
kyodev
)

```text je te conseille cette zone, liftée, sans pollution inutile
```text
$TTL 3600
@ IN SOA dns109.ovh.net. tech.ovh.net. (2019021103 86400 3600 3600000 300)
0 IN NS dns109.ovh.net.
0 IN NS ns109.ovh.net.
0 IN MX 1 redirect.ovh.net.
0 IN A 213.186.33.5
600 IN TXT "v=spf1 include:mx.ovh.com ~all"
autodiscover.tcp 0 IN SRV 0 0 443 mailconfig.ovh.net.
imaps.tcp 0 IN SRV 0 0 993 ssl0.ovh.net.
submission.tcp 0 IN SRV 0 0 465 ssl0.ovh.net.
autoconfig 0 IN CNAME mailconfig.ovh.net.
autodiscover 0 IN CNAME mailconfig.ovh.net.
```
une fois modifiée dans la zone DNS en mode textuel, ajoute une entrée CNAME:



note le point final dans la cible

mais je sais pas si tout est clair sur ta zone ou si tu as balancé un fake:
```text
whois rvbapp.ovh

ERROR
Unexpected error prevents command to be processed

dig +trace +nodnssec rvbapp.ovh SOA | grep 'SOA[[:blank:]]'
Pas de SOA trouvé
```
donc ce domaine n'existe pas et/ou n'est pas installé

pour le domaine root (naked domain), contrairement à ton tuto, regarde le sujet initial ```

Merci, oui ça marche!!!

j'ai vraiment copier/coller le dns en mode textuel... donc non il n'y a pas de fake.

Par contre j'ai supprimé un cname et une entrée A tout à l'heure.

Le cname avait www.rvbapp.ovh avec pour cible rvbapp.ovh (il doit manquer des points...)
L'entrée A dirigé vers mon ip.

J'ai acheté l'adresse ce matin donc peut-être qu'il manque des choses avec...

- Après ou était l'erreur ? C'est juste que si j'ai le même problème que je sois capable de le solutionner sans polluer la communauté... :)

- Je vais voir pour les naked domains

Encore merci

```text le whois devait avoir le hoquet, ou création à 11h18, c'était pas encore installé
```text
whois rvbapp.ovh
Updated: 2019-02-11T10:32:00Z
Creation: 2019-02-11T10:18:14Z
Expiry: 2020-02-11T10:18:14Z
Status: addPeriod
Name Server: dns109.ovh.net
Name Server: ns109.ovh.net
Registrar: OVH
```
pour le CNAME, c'est ok:
```text
dig +nocmd +noall +answer www.rvbapp.ovh A @dns109.ovh.net
www.rvbapp.ovh. 3600 IN CNAME cellular-platypus-dxw8hy07kez7qc7lljmkeyoa.herokudns.com.
```

pour le domaine root, pour ne pas se retrouver sur le serveur imap de Ovh:

* commander un hébergement gratuit start10M (Manager/domaine/infos générales)

* retourner dans la zoneDNS pour supprimer l'entrée A sur WWW que la commande a dû ajouter
* dans hébergement/multisite:
* activé le SSL uniquement pour le domaine root
* commander le certificat SSL (gratuit, let's encrypt)
* régénérer si besoin
* par ftp, ajouter un fichier `/www/.htaccess`:
```text
RewriteEngine On

## no-www -> www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]
```

celà évitera ces horribles:
```text
curl --head -XGET http://rvbapp.ovh/
HTTP/1.1 302 Moved Temporarily
Location: http://imp.ovh.net

curl --head -XGET https://rvbapp.ovh/
curl: (35) error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
``` ```

Hmmm,

C'est bon c'est fait mais dans l'onglet hébergements

- Multisite :
sur le domaine racine (rvbapp.ovh avec la roue de réglage) il me renvoie :
> Une erreur est survenue lors de la récupération du rapport de génération SSL.

- Certificat SSl - bouton commander un ssl il me renvoie :
> Une erreur est survenue lors de la commande d'un certificat SSL. (No attached domain with ssl enabled or no attached domain that redirect on hosting IPs, please use hosting IPs in your domain zone)


- l'url www.rvbapp.ovh me renvoie sur un site en construction made by ovh.

- C'est good pour le .htaccess :)

```text ```text
dig +nocmd +noall +answer rvbapp.ovh A @dns109.ovh.net
rvbapp.ovh. 3600 IN A 213.186.33.5
dig +short -x 213.186.33.5 -> redirect.ovh.net

dig +nocmd +noall +answer www.rvbapp.ovh A @dns109.ovh.net
www.rvbapp.ovh. 3600 IN CNAME cellular-platypus-dxw8hy07kez7qc7lljmkeyoa.herokudns.com.
```
ton www est ok
pas l'entrée A pour le domaine root, j'ai bien indiqué pour: ***uniquement pour lui***, ne pas cocher le faire pour www

sinon, va editer la zoneDNS manuellement https://docs.ovh.com/fr/domains/editer-ma-zone-dns/
PUIS vas activer ssl UNIQUEMENT pour le domaines root ```

```text Désolé pour cette question mais je suis pas habitué à ces problèmes d'hébergements.

tu vois dans la commande en mode textuel j'ai rentré ce que tu m'as dit avec :

> $TTL 3600
> @ IN SOA dns109.ovh.net. tech.ovh.net. (2019021103 86400 3600 3600000 300)
> 0 IN NS dns109.ovh.net.
> 0 IN NS ns109.ovh.net.
> 0 IN MX 1 redirect.ovh.net.
> 0 IN A 213.186.33.5
> 600 IN TXT "v=spf1 include:mx.ovh.com ~all"
> autodiscover.tcp 0 IN SRV 0 0 443 mailconfig.ovh.net.
> imaps.tcp 0 IN SRV 0 0 993 ssl0.ovh.net.
> submission.tcp 0 IN SRV 0 0 465 ssl0.ovh.net.
> autoconfig 0 IN CNAME mailconfig.ovh.net.
> autodiscover 0 IN CNAME mailconfig.ovh.net.

Et si j'arrive bien à suivre...

Cette commande n'indique pas de création de A sur www. Il y a une création de A sur l'ip : 213.186.33.5 Si je commence à comprendre :)

(Sauf si 0 IN A 213.186.33.5 crée également le www.)

Quand je souhaite supprime l'entrée A sur l'ip : 213.186.33.5 et créer un CNAME avec le domaine root avec pour cible xyz.heroku.dns.com. (url plus simple à comprendre et courte) j'ai un feedback négatif avec

> Le sous-domaine est déjà utilisé par un autre enregistrement. Un enregistrement CNAME n'est pas autorisé à coexister avec d'autres champs sur le même sous-domaine.

Est-ce que j'ai pigé le truc :). Merci en tout cas ```

pour le domaine root, c'est forcément une ip
CNAME est un nom de serveur, donc CNAME ne peut être utilisé
l'ip : 213.186.33.5 est l'ip d'un serveur de redirection sur ovh
le mode textuel est réservé pour des grosses modifs, ne l'utilises plus sans savoir ce que tu fais
le multisite uniquement sur rvbapp.ovh aurait du corriger cette ip, mais tu n'as pas suivi la procédure, et n'a pas autorisé la modification de la zone.... quel temps perdu
dans hébergement/infos general, tu as l'ip à utiliser
dans zoneDNS: tu **MODIFIES** l'entrée A 213 par l'ip que tu as notée

Merci pour le feedback. :)

Entre cette nouvelle manipulation qui me semble plus facile et l'ancienne quelles sont les différences pour l'application web?

Sur l'autre post tu parles d'avoir des problèmes concernant le SEO et l'indexation des moteurs de recherche par exemple.

je n'ai toujours parlé que de la même manip...
c'est la bonne pratiques, qui permet d'atteindre d'autres objectif, mais je n'ai rien inventé, d'autres ont dû expliquer mieux le pourquoi

je ne peux pas faire d'exposé à chaque fois

Merci, c'est sympas en tout cas.
C'est une base après ce sera à moi de faire mes propres recherches. ;)

Hello,

Je me permets de remettre le sujet à jour. J'ai suivi toutes les étapes conseillée par @kyodev pour associer correctement une url OVH a une application Heroku et les résultats ne sont pas concluant. Cela fait plus d'une semaine que je suis bloqué la dessus.

Alors mon nom de domaine OVH est "calleis.site" et sur Heroku j'ai ajouté le domaine "calleis.site". Ils m'ont donné la redirection "octagonal-tulip-59yy5atyn4sdbgsez61qe11e.herokudns.com".
J'ai donc :
1/ Modifier la zone DNS sur l'adresse www.calleis.site. en créant un CNAME redirigeant vers le lien Heroku. La commande :
`dig +nocmd +noall +answer www.calleis.site A @dns103.ovh.net`
m'indique :
`www.calleis.site. 3600 IN CNAME octagonal-tulip-59yy5atyn4sdbgsez61qe11e.herokudns.com.`
Ce qui me semble bien.

2/ Dans zone DNS j'ai supprimé toutes les autres entrée sur WWW

3/ Dans hébergement/multisite, j'ai bien le SSL activé sur le domaine root (c'est le domaine sans les www si je ne me trompe pas)


4/ Commander le certificat SSL, cela ne marche pas.

5/ J'ai régénérer

6/ J'ai ajouté un fichier `.htaccess` a mon application. Cependant elle est codé avec le framework Django de Python, j'ai donc mis le fichier `.htaccess` dans la racine du projet.
Et le fichier .htaccess contient le code suivant:

`RewriteEngine On

## no-www -> www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]`


Voilà. Si quelqu'un peut m'aider a décanter la situation je lui serai très reconnaissant.

Merci.

zone DNS ok
certificat OK ! c'est d'ailleur ce que tu nous montres
```text
nmap -p 443 --script ssl-cert calleis.site
Subject: calleis.site
Issuer: Let's Encrypt Authority X3
start: 2019-06-13T20:44:14
end: 2019-09-11T20:44:14
Subject Alternative Name:
calleis.site
```
depuis hier soir

.htaccess en erreur:
```text
curl --head -XGET http://www.calleis.site/
HTTP/1.1 500 Internal Server Error
```
ou il y a des autres lignes en erreur
ou le format n'est pas bon? utf8 avec BOM?

bonjour,

si je dis pas de bêtises, un pointage heroku c'est vers l’extérieur. (donc rien à voir avec la partie hébergement ou le ssl ovh)

Donc, dans la zone dns il faut :
supprimer :
TXT 1|www.calleis.site"
A 188.165.53.185

Puis faire une redirection visible et permanente de
@ vers www.calleis.site

https://docs.ovh.com/fr/domains/redirection-nom-de-domaine/

Alors j'ai changé les zone DNS ce matin en faisant attention aux noms de domaine que j'ai ajouté sur heroku.

- J'ai ajouté le nom de domaine "www.calleis.site" sur Heroku et je l'ai lié a OVH en créant un CNAME
- J'ai ajouté le nom de domaine "*.calleis.site" pour toutes les recherches finissant par mon nom de domaine
- J'ai ajouté le nom de domaine "calleis.site" sur Heroku que je ne fais pointer nulle part pour l'instant.

Voici des captures d'écran des noms de domaine + zone DNS associées.

Noms de domaine Heroku :



Configurations DNS :


@kyodev, je n'ai aucun idée d'ou peut venir l'erreur sur le .htaccess. C'est la première fois que je configure ce genre de fichier.
Par ailleurs lorsque je charge la page www.calleis.site, j'ai une erreur serveur et je ne sais pas d'ou elle vient.

@AntoineB1, je vais supprimer le TXT et le A dans la zone DNS mais ca ne m'explique pas d'ou vient l'erreur serveur malheureusement. Par ailleurs sur l'ensemble des pages de community sur le lien des domaines OVH avec les applications Heroku, il semble que les redirections ne soient pas une bonne idée (à vrai dire j'ai pas trop d'avis la dessus). Est ce vrai ?

c'est du GRAND N'IMPORTE QUOI !

vos redirectiosn OVH ne gère pas https, c'est désuet ! et trompeur !

oui, mais là le @ ne fait rien.

sinon ya des astuces ici.
http://lkdjiin.github.io/blog/2018/08/30/heroku-ovh-les-naked-domains-et-les-dns/

heroku est simple à configurer, même d'ovh

TA ZONE EST OK

si ton www site est HS, voir heroku
peux tu publier ton .htaccess sur pastery.net?

n'importe quoi encore, il faudrait se mettre à jour dans ses lectures..!
et nicolas à son hébergement!

LA SOLUTION Ovh, mais je peux envoeyr ailleurs si tu préfères:
https://gitlab.com/sdeb/web/snippets/1853848

nicolas n'as pas besoin de commander l'hébergement, à priori

```text


oui, mais là le @ ne fait rien.


bien sûr que si:

```text

dig +nocmd +noall +answer calleis.site A @dns103.ovh.net
calleis.site. 3600 IN A 188.165.53.185
dig +short -x 188.165.53.185 -> cluster021.hosting.ovh.net
```

il pointe sur un .htaccess ce qui est **LA BONNE PRATIQUE** ```

à l'instant il n'est plus dans la zone dns, avec mes précieux (mauvais) conseils
Je passe la main, mais il faut remettre l'ip dans la zone.

```text moi aussi, alors je m'incline, si @NicolasB83 vient demander de l'aide et joue avec la zone DNS il saura se débrouiller seul

il n'empêche que les redirections Ovh sont une des pires choses qui ne crée que des soucis, le support ne devrait pas donner ce lien et ça ne devrait pas mélanger la config de la zone, beaucoup se plante

```text
dig +trace +nodnssec calleis.site SOA | grep 'SOA[[:blank:]]'
3600 IN SOA dns103.ovh.net. tech.ovh.net. 2019061401
```
ip ok

```text
dig +trace +nodnssec calleis.site SOA | grep 'SOA[[:blank:]]'
3600 IN SOA dns103.ovh.net. tech.ovh.net. 2019061403
```

c'est ridicule de modifier une zone SANS savoir, avec un tel TTL... ```

c'est pas de la faute de @NicolasB83

Faites un ticket au support de heroku si vous êtes bloqué avec le screen de votre zone dns.

```text bah si pas d'ip sur @....
pas de .htaccess
pas de redirection propre

le cname est OK, heroku n'est pas concerné par la zone

et ça:
https://i.imgur.com/OZH608Y.png

je doute que heroku se précipite, erreur 500
```text
curl --head -XGET http://www.calleis.site/
HTTP/1.1 500 Internal Server Error
``` ```

Bon avec toutes informations je me suis perdu dans le parametrage. J'ai réinitialiser toute la zone DNS du nom de domaine et j'ai récréer les noms de domaines associés avec Heroku.

1/ Modifications des zones DNS :

Sur Heroku :
Nom de domaine - Target DNS
"*.calleis.site" - 1t2onwq2w5w7fqyabclxw291z.herokudns.comt2onwq2w5w7fqyabclxw291z.herokudns.com
"calleis.site" - 17vtqhrtzkhauwfnv3069jdzo.herokudns.com7vtqhrtzkhauwfnv3069jdzo.herokudns.com
"www.calleis.site" - 1zgxspwjhwhtudgutvnwht4q2.herokudns.comzgxspwjhwhtudgutvnwht4q2.herokudns.com

Sur OVH je modifie les zones DNS en créant deux entrées CNAME :
- *.calleis.site. 0 CNAME 1t2onwq2w5w7fqyabclxw291z.herokudns.com.t2onwq2w5w7fqyabclxw291z.herokudns.com.
- "www.calleis.site." 0 CNAME 1zgxspwjhwhtudgutvnwht4q2.herokudns.com.zgxspwjhwhtudgutvnwht4q2.herokudns.com.

J'ai donc :
`dig +nocmd +noall +answer *.calleis.site A @dns103.ovh.net`
avec résultat :
`www.calleis.site. 3600 IN CNAME 1t2onwq2w5w7fqyabclxw291z.herokudns.com.` t2onwq2w5w7fqyabclxw291z.herokudns.com.`

`dig +nocmd +noall +answer www.calleis.site A @dns103.ovh.net`
avec résultat :
`www.calleis.site. 3600 IN CNAME 1zgxspwjhwhtudgutvnwht4q2.herokudns.com.` zgxspwjhwhtudgutvnwht4q2.herokudns.com.`

`dig +nocmd +noall +answer calleis.site A @dns103.ovh.net`
avec résultat :
`calleis.site. 3600 IN A 188.165.53.185`

Jusqu'ici les zones DNS me paraissent correctes.

2/ le SSL activé uniquement sur le domaine root

3/ J'ai lancé une régéneration (en cours)

4/ Le fichier .htaccess est dans le fichier principal de mon applicaiton et il contient :
` RewriteEngine On
## no-www -> www
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]`

Donc finalement j'ai cette erreur 500 qui apparait car j'ai
`curl --head -XGET http://www.calleis.site/
HTTP/1.1 500 Internal Server Error`
alors que l'application tourne très bien avec l'url heroku de base. Donc la je ne comprends pas la source de l'erreur.

8e modif dans la zone...
ta zone est ok

tu peux comprendre que ta zone n'est pas *réactive*, c'est ridicule de bidouiller autant avec un TTL (cache) d'une heure?

plus de `.htaccess`, plus de souci

souci chez héroku, erreur 500

on se répéte?

et si tu te concentrais sur héroku
après tu viens voir comment rediriger le root @
je t'avais proposé de publier ton .htaccess... j'attends, mais ce n'est qu'un détail

@kyodev, je comprends que ma zone n'est pas réactive, mais j'essaye de mettre en place des choses pour voir ce qui marche et ce qui ne marche pas. Par ailleurs en prenant en compte différentes réponses je modifie les paramètres au fur et a mesure. Et avec vos différentes opinions, j'ai préféré réinitialiser.

Je vais me concentrer sur l'erreur Heroku pour comprendre d'ou cela vient.

Et voici le lien du pastery du .htaccess: https://www.pastery.net/tuktxb/

oui mais tu ne peux demander de l'aide sur un état donné et changer en même temps les paramètres, c'est de la perte de temps

comme tu ne l'a pas prévu, la zone est un paramètre particulièrement **LENT POUR TOI**
à chaque changement, **TU DOIS** attendre 1 à 2 heures

Oui je comprends, je ne réalisais pas qu'il y avait autant de temps d'attente. Je ferai attention désormais.

```text ton .htacces que tu montres est ok

https://transfer.sh/na2BM/.htaccess

je t'ai publié un fichier, tu téléchargeras, pour l'uploader tel quel sur Ovh
(je ne vois qu'un souci d'encodage avec BOM qui peut expliquer ça)

pour héroku, ça évolue

https://i.imgur.com/yPjETXZ.png

erreur 400 au lieu de 404?
```text
curl --head -XGET http://www.calleis.site/
HTTP/1.1 400 Bad Request
``` ```

@kyodev, c'est bon pour les erreurs provenant d'Heroku. Le site s'affiche correctement sur l'adresse www.calleis.site. Les erreurs provenant des hosts autorisés.

Je vais voir le fichier .htaccess que tu as déposé.

J'ai suivi le tutoriel expliqué dans le lien : https://gitlab.com/sdeb/web/snippets/1853848.
Désormais toutes les addresses sont correctement redirigées.

`curl --head -XGET http://calleis.site/
HTTP/1.1 301 Moved Permanently
Location: https://www.calleis.site/`

`curl --head -XGET http://www.calleis.site/
HTTP/1.1 301 Moved Permanently
Location: https://www.calleis.site/`

`curl --head -XGET https://calleis.site/
HTTP/1.1 301 Moved Permanently
Location: https://www.calleis.site/`

Cependant je n'ai pas bien configuré l'URL https://www.calleis.site/, lorsque je lance la commande `curl --head -XGET https://www.exemple.fr/`, j'obtiens l'erreur suivante :
`curl: (35) error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error`

Comment dois-je faire le parametrage pour ne plus avoir cette erreur ?

voir heroku, le certificat est sur le serveur

```text
nmap -p 443 --script ssl-cert www.calleis.site
<>

unable to load certificate
140176166687808:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE

```
et là je n'en vois pas, une option à activer chez eux?



```text
curl --head -XGET https://calleis.site/
HTTP/2 301
location: https://www.calleis.site/
```
ton .htaccess fonctionne :)
et tu as bien un certificat

Est ce que je ne dois pas commander un certificat SSL sur OVH ?

je viens de te dire que ton certificat Ovh est ok
je pensais devancer... :/

```text
nmap -p 443 --script ssl-cert calleis.site
Subject: calleis.site
```

VA CHEZ HEROKU pour le www

Antworten sind derzeit für diese Frage deaktiviert.