Redirection http

Bonsoir à toutes et à tous.
J’ai un domaine ovh sur un serveur (A) ip: aaa.aa.aaa.aaa (domaine.ovh) en https
J’ai un autre serveur (B) ip: bbb.bbb.bbb.bbb
Je veux un pointage x.domaine.ovh sur le serveur (B) en https également sur bbb.bbb.bbb.bbb/x

J’ai ma redirection ovh:

Domain Type Target
domaine.ovh to a server (IPv4 - A) aaa.aaa.aaa.aaa
x.domaine.ovh to a server (IPv4 - A) bbb.bbb.bbb.bbb

Le sites-available/x.domaine.cfg:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/x
ErrorLog ${APACHE_LOG_DIR}/x_error.log
CustomLog ${APACHE_LOG_DIR}/x_access.log combined
<Directory /var/www/html/x>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
order allow,deny
allow from all
</Directory>

Ça ne marche pas!

Ou est l’erreur svp?

Je vous remercie d’avance smile

Fax

Bonjour,

Je comprends pas bien ce qui ne marche pas, mais bon.
Ton enregistrement est-il répliqué sur le DNS que tu utilises ? Pour le vérifier :

nslookup x.domaine.ovh

As-tu bien activé ton vhost avec les commandes suivantes :

a2ensite x.domaine.cfg && systemctl reload apache2

NB: il me semble qu’apache attend des vhost en .conf

Y-a-t-il quelque chose dans tes journaux apache ?

tail /var/log/apache2/x_access.log

Sinon, pourquoi tu parles de “Redirection http” alors qu’il s’agit simplement de faire fonctionner ton site ? Le serveur (A) ne sert à rien dans la description de ton problème.

Commençons par le départ, tu gères tes DNS via le panel OVH ou tu dirige ton NDD sur l’IP du serveur A qui fait également office de serveur DNS ? Par ce que la il faut que tes deux serveurs resolve le NDD afin de le prendre en charge.

Ensuite, j’ai jamais fait ca mais ca m’interesse. Ton VHost tel que montré ici ne peux pas fonctionner en https.

Ca n’intervient pas dans ton probléme, donc ça, on ignore.

Redirection/pointage, ce ne sont pas des termes précis/adaptés.
Je résume:
Tu as un site déployé dans le répertoire /var/www/html/x, et tu veux qu’il soit accessible par https://x.domaine.ovh
Si c’est ça, il te faut d’abord configurer un virtualhost par le nom, pour que le serveur sache quoi livrer quand on lui demande x.domaine.ovh sur le port https, tu vas l’appeler /etc/apache2/sites-available/x.domain.ovh-ssl.conf:

<IfModule mod_ssl.c>
<VirtualHost *:443> # la tu précises que c est sur le port https

        ServerAdmin     webmaster@x.domain.ovh # plutot que localhost
        ServerName      x.domain.ovh # la tu précises a quel nom principal il doit repondre
#        ServerAlias     www.x.domain.ovh # si tu as besoin d'acces differents
        DocumentRoot    /var/www/html/x # tu precises ou sont les donnees
# les logs osef, tu fais comme tu veux
        ErrorLog ${APACHE_LOG_DIR}/x.domain.ovh-ssl.log
        CustomLog ${APACHE_LOG_DIR}/x.domain.ovh-ssl.log combined
# le directory c etait deja bon
        <Directory /var/www/html/x>
               Options         Indexes FollowSymLinks MultiViews
                AllowOverride   All
                Order allow,deny
                allow from all
        </Directory>
# apres il te faudra des certificats pour le https genre
#       SSLCertificateFile /etc/letsencrypt/cert/fullchain.pem #lien vers la full chain transmise par let's encrypt ou autre                                                                                       
#       SSLCertificateKeyFile /etc/letsencrypt/cert/privkey.pem #lien vers la full chain transmise par let's encrypt ou autre                                                                                      
#       Include /etc/letsencrypt/options-ssl-apache.conf #fichier de configuration ssl let's encrypt                                                                                                               

</VirtualHost>
</IfModule>

aprés, comme indiqué, en root ou sudo:
a2ensite /etc/apache2/sites-available/x.domain.ovh-ssl.conf suivi de systemctl reload apache2

PUIS

au niveau dns, vérifier/configurer pour que x.domain.ovh se résolve en l’ip du serveur.

@mattotop
Je pense que c’est plus compliqué que ca, le certificat du domaine sur le serveur A ne sera pas valide sur le serveur B.

Je pense que le sous domaine en question doit etre redirigé vers l’IP du serveur B via les DNS. Le serveur B doit avoir sont propre certificat pour ce sous domaine.

A partir de la tu fais ton virtual host apache sur serveur B. J’peux m’trompé, mais a mon avis tout commence par les DNS.

Evidemment. En principe un certificat est émis pour un nom de domaine. Il n’est pas question d’utiliser le certificat de A sur B (sauf s’il a été émis pour domaine.ovh et *.domaine.ovh en prévision de cette situation). Rien de compliqué, c’est la base.

Je répète ce qu’ont écrit les autres : ce n’est pas une redirection. Evidemment il faut que le nom de domaine x.domaine.ovh pointe vers l’adresse IP du serveur B via un enregistrement DNS de type A si on veut que le site soit joignable.

Cette phrase ne contient aucune information utile.

Si tout était évident pour tout le monde XD

Ou un CNAME, mais bon.

Non, pas quand ca pointe sur une IP

Si:
tu peux avoir, dans domaine.ovh, une machine du nom de <serveur>, avec un A (ou plusieurs, ainsi que des AAAA pourquoi pas), et ensuite, déclarer tes sous domaines, comme x, ou y, en CNAME vers <serveur>.
C’est comme ça que je configure pour moi les sous domaines, donc je l’affirme, tu peux aussi avoir un CNAME.

@mattotop
Je suis d’accord, sauf que dans le cas de figure présenté ici, le sous domaine n’est pas sur le même serveur, donc on a forcement affaire a un enregistrement A ou AAAA pour le sous domaine concerné. Les autres qui sont sur le même serveur, peuvent en effet être en CNAME.
[EDIT] Son serveur a peut être plusieurs IP d’ailleurs …

Merci pour toutes vos réponses.
Je dois avouer que certaines réponses me déroutent, pas par leurs pertinences, mais par mon ignorance. J’avoue que les termes que j’ai employé ne sont pas forcément les bons.

2FR3 a bien cerné le problème.

https://serverA fonctionne très bien (forum et autres)
DNS Zone
Domaine-------------TTL-----Type-------Target
domaine.ovh---------0---------A---------aaa.aaa.aaa.aaa
x.domaine.ovh-------0---------A---------bbb.bbb.bbb.bbb

Ceci est géré par mon hébergeur ovh

Si tu repondais a nos questions, nous serions plus précis, tu gères tes DNS ou? sur le serveur A ou sur le panel OVH ?
Dans n’importe quel cas, comment sont ils configurés pour le sous domaine en question ?

Le serveur B est’il dedié qu’a un seul site repondant au sous domaine ?

Désolé, on s’est croisé.
Pour plus de facilité, passons nous du https, ce sera pas mal si ça fonctionne déjà en http.

Alors il devrait suffire de reprendre et d’adapter sa configuration pour le serveur B et son nom de domaine.
Tu n’as toujours pas répondu à la question la plus importante : qu’est-ce qui ne marche pas exactement ?

C’est vrai. Mais il faut se méfier des CNAME et des possibles effets de bord inattendus. Un CNAME ne signifie pas seulement que X est associé à la même adresse IP que Y mais que X est équivalent à Y pour tout type d’enregistrement DNS (y compris MX, NS et autre). A utiliser avec précaution donc, et à éviter quand on ne maîtrise pas.

En quoi est-ce pertinent ? L’important est que d’une façon ou d’une autre le nom de domaine pointe vers l’adresse IP dans le DNS public, ce que la commande nslookup proposée par @sk4hrr (ou dig, host) aurait permis de vérifier.

Ce qui ne marche pas:
quand je tape x.domaine.ovh , je tombe sur la page debian apache default.
Je suis obligé de faire (appelons x=echelon):
echelon.domaine.ovh/echelon pour que cela fonctionne.
Et je souhaite arriver directement sur echelon sans avoir à le préciser.

Je suis certain que c’est une broutille, mais je ne vois pas comment résoudre ce dilemme.

Je vous présente mes excuses pour ne pas avoir été plus clair auparavant .

Ouais, parce qu’on se pignole depuis une quinzaine de messages au sujet de la résolution DNS et des certificats alors que ça n’a rien à voir.

La définition de la racine du site dans la déclaration du virtualhost n’est pas bonne, ou bien ce n’est pas le bon virtualhost qui est sélectionné (ça sent le virtualhost par défaut).

Hmmm

Voici echelon.domaine. ovh.conf:

ServerAdmin faxtarus@domaine.ovh
DocumentRoot /var/www/html/echelon

ErrorLog ${APACHE_LOG_DIR}/echelon_error.log
CustomLog ${APACHE_LOG_DIR}/echelon_access.log combined

<Directory /var/www/html/echelon>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
order allow,deny
allow from all

Ce fichier est dans le serveur B, tout comme echelon.
Encore désolé de courroucer les membres de la communauté, un peu d’indulgence pour un ptit gars de 62 balais qui cherche encore à apprendre :wink:

Et “se pignoler” ne fait de mal à personne (parole d’expert) :wink:

Je ne connais pas grand-chose à Apache, mais tout cela ne devrait-il pas figurer à l’intérieur d’une déclaration <VirtualHost> ? Je laisse les autres réagir sur ce point.

Dans quel répertoire ? L’as-tu activé comme indiqué par @mattotop ? Qu’entends-tu par “echelon” dans ce contexte ?

Voici les chemins:
/etc/apache2/sites-availables/echelon.domaine.cfg
echelon (un lecteur de base de données ) est sur :
/var/www/html/echelon

Sur le serveur B