Aller au contenu

Script de redirection http => https [RESOLU]


Messages recommandés

Bonjour,

J'ai créé un certain nombre de règles de reverse proxy. Je cherche a faire une redirection des connexions http vers https en utilisant un fichier déposé dans le dossier WEB (et non pas en utilisant la redirection automatique dans les paramètres de DSM, justement pour ne pas casser le reverse proxy)

j'ai essayé avec un fichier index.php et le code :

<?php
$http_host = $_SERVER['HTTP_HOST'];
// 307 Temporary Redirect
header("Location: https://$http_host",TRUE,307);
exit;
?>

comme indiqué dans le tuto :

Mais ça ne marche pas (pas de redirection)

J'ai aussi essayé avec un fichier .htaccess et le code:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

comme indiqué dans ce tuto :

Mais ça ne marche pas non plus, et la redirection ne se fait pas.

Je ne suis pas très calé (pour le moins) dans ces affaires, et je ne sais pas dans quelle direction orienter mes recherches.

Merci à celles et ceux qui prendront le temps de me répondre

 

 

Modifié par Boris
problème résolu
Lien vers le commentaire
Partager sur d’autres sites

Si c'est pour rediriger l'accès à DSM ou à d'autres applications intégrées à DSM (File Station, Audio Station, ...), ça ne fonctionnera pas pour la simple raison que le point d'entrée n'est le dossier /web de Web Station.

Dans ce cas précis, ça ne peut fonctionner qu'en activant la redirection http > https dans DSM.

Lien vers le commentaire
Partager sur d’autres sites

Ouf... je n'étais pas complètement à côté de la plaque. Chez moi, les redirections marchent https://file.mondomaine.fr ouvre bien filestation . (ça marche aussi pour les autres : video download etc.)

Par contre, je n'arrive pas à rediriger automatiquement http://file.mondomaine.fr => https://file.mondomaine.fr

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

C'est curieux que cela n'arrive que pour file  !

...et avec simplement file.mondomaine.fr ça fait pareil ?

Dans le portail des applis Le port http 7000 est-il déclaré et le reverse proxy est-il bien paramétré ? Les ressources de DNS serveur aussi ?

Voilà ce que j'ai de mon côté qui fonctionne bien :

image.thumb.png.c5010a91fd60be0712a45e483ac35f85.png

 

Modifié par Jeff777
Lien vers le commentaire
Partager sur d’autres sites

Je n'ai pas du être clair....

https://file.mondoaine.fr ; https://video.mondomaine.fr ; https://audio.mondomaine.fr ; et les autres : ça marche !

avec http://file.mondomaine. fr ; http:// video.mondomaine.fr etc. j'arrive sur une page "erreur 500", ce qui est normal vu que je n'ai pas fait de règles réverse proxy.

Ce que je cherche à faire (et je n'y arrive pas) c'est de rediriger automatiquement le http vers le https.

J'ai bien suivi le tuto de fenrir (enfin, je pense l'avoir bien suivi) et mis le .htaccess dans le dossier web. Mais ça ne produit pas le résultat attendu.

Il y a 5 heures, goerges a dit :

J'ai eu la même mésaventure car je n'avais pas bien défini la version de PHP qu'il fallait utiliser dans la configuration web.

je ne comprends pas ce que tu veux dire par là.

Modifié par Boris
ajout de précisions
Lien vers le commentaire
Partager sur d’autres sites

Il y a 21 heures, Boris a dit :

J'ai créé un certain nombre de règles de reverse proxy.

 

il y a une heure, Boris a dit :

ce qui est normal vu que je n'ai pas fait de règles réverse proxy.

Là effectivement ce n'est pas clair.

Lien vers le commentaire
Partager sur d’autres sites

 

Il y a 4 heures, Boris a dit :

ce qui est normal vu que je n'ai pas fait de règles réverse proxy.

Justement et en déclarant dans le portail des applis le port 7000 et ajoutant la règle de reverse proxy :

https://file.mondomaine.fr => http://localhost:7000   ?

Modifié par Jeff777
Lien vers le commentaire
Partager sur d’autres sites

Il y a 6 heures, goerges a dit :

Je pense qu'il a fait les règles que pour ce qui arrive sur le port 443 et pas le port 80

Effectivement !

Voilà ce que j'ai :

WebST-1.JPG.c6884263f0681506b8c2aa59da452113.JPG

 

WebST-2.JPG.e5764569181a7ac844c76f3a6785134d.JPG

Il y a 3 heures, Jeff777 a dit :

Justement et en déclarant dans le portail des applis le port 7000 et ajoutant la règle de reverse proxy :

https://file.mondomaine.fr => http://localhost:7000   ?

C'est bien ce que j'ai fait. Et ça marche bien.

Je rappelle que mon problème est de faire fonctionner une redirection automatique de http => https

Pour ça j'utilise un fichier index.php dans /web et c'est ça que je n'arrive pas à faire fonctionner (ou bien un .htaccess,  j'ai aussi essayé cette méthode, avec aussi peu de réussite)

Lien vers le commentaire
Partager sur d’autres sites

Tu as testé avec ton IP wan ?

Stupide question: tu as bien qu'un seul fichier index dans ton répertoire web ?

Enfin, je te mets ce que j'ai dans le mien mais c'est la même chose excepté que le port 443 est spécifié à la ligne 9 mais je ne pense pas que cela va changer quelque chose

<?php
// 307 Temporary Redirect
$http_host=$_SERVER['HTTP_HOST'];
switch ($http_host) {
        case "photostation.xxx.com":
               header("Location: https://$http_host/photo",TRUE,307);
               break;
        default:
               header("Location: https://$http_host:443",TRUE,307);
        }       
exit;
?>

Lien vers le commentaire
Partager sur d’autres sites

Alors de mon côté je viens de changer mon .htaccess en index.php (celui de Boris) et oui cela ne marche pas (Je tombe sur la page d'accueil de webstation en http) sauf si je rajoute /index.php à l'URL et là c'est bon 😀

Si je reprends la solution avec .htaccess ça fonctionne à nouveau mais pas forcément de suite.

Tu devrais peut-être réessayer le .htaccess et faire un ipconfig  /flushdns et même redémarrer le NAS.

Modifié par Jeff777
Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, goerges a dit :

Et ton adresse locale du genre http://192.168.x.x/index.php, ça donne quoi ? (avec l'adresse locale du nas naturellement)

Ça donne une erreur 500

Capture.JPG.82d0db79b6c5ff0d5c202bd452582cd7.JPG

j'utilise ton script:

<?php
// 307 Temporary Redirect
$http_host=$_SERVER['HTTP_HOST'];
switch ($http_host) {
        case "photostation.xxx.com":
               header("Location: https://$http_host/photo",TRUE,307);
               break;
        default:
               header("Location: https://$http_host:443",TRUE,307);
        }       
exit;
?>

Il y a 15 heures, Jeff777 a dit :

Alors de mon côté je viens de changer mon .htaccess en index.php (celui de Boris) et oui cela ne marche pas (Je tombe sur la page d'accueil de webstation en http) sauf si je rajoute /index.php à l'URL et là c'est bon 😀

Si je reprends la solution avec .htaccess ça fonctionne à nouveau mais pas forcément de suite.

Tu devrais peut-être réessayer le .htaccess et faire un ipconfig  /flushdns et même redémarrer le NAS.

ipconfig  /flushdns fait... NAS redemarré...

Mais rien de changé. Ça ne redirige pas...

Modifié par Boris
Lien vers le commentaire
Partager sur d’autres sites

Je viens de faire quelques essais...

LE PROBLÈME A L'AIR BIEN PLUS GÉNÉRAL

j'ai créé un dossier bbs dans WEB et y ait installé Bicbucstriim

J'ai aussi créé un dossier monblog dans WEB et y ait installé un wordpress

 

AUCUN DES DEUX N'EST ACCESSIBLE via http://monIP/bbs ou bien http://monIP/monblog

(J'ai essayé en interne et en externe)

Pour moi le mystère s'épaissit.

Lien vers le commentaire
Partager sur d’autres sites

J'ai aussi les 3 premières cases cochées mais même en les décochant ça fonctionne aussi.

En résumé si tu lances un https tu as bien accès à la page d'accueil de tes applications en (https bien sûr).

Si tu lances un http.... bing erreur 500

et ceci avec la redirection http/https que ce soit en php ou par .htaccess

Donc ce qui coince c'est peut-être l'accès au dossier "web" puisque en https, si je ne me trompe pas, tu ne passes pas par ce dossier car tu vas directement sur l'application grâce au reverse proxy.

Je viens de corrompre les fichiers à la racine du web et effectivement j'obtiens une erreur 403 avec http et ça fonctionne avec https !

Il faut chercher du côté de webstation et du dossier web. Peut-être essayer de réinstaller webstation et aussi vérifier les droit d'accès au dossier web.

Je ne suis pas un expert et c'est sans garantie mais ça vaut la peine d'essayer.

Bon courage

Modifié par Jeff777
Lien vers le commentaire
Partager sur d’autres sites

Bon beeennnn, c'est la merde...

Php désinstallés et réinstallés, webStation désinstalé, dossier web supprimé, WebStation réinstallé....

Et rien ne change.

Par contre, j'avais il y a quelques temps ouvert un post à propos de Bicbucstriim, qui avant fonctionnait chez moi et n'a plus marché. Il était dans le dossier web lui aussi.

Du coup, il y a comme une trame générale qui se dégage : mon "dossier web" (ou plutôt, le coté web perso, je ne sais pas comment le dire mieux) est moisi chez moi.

Pour Bicbucstriim et les e-books, j'utilise maintenant Docker et Calibre-web. Je retrouve la fonction, mais mon problème de fond n'est pas réglé. Et il se manifeste encore une fois maintenant.

Je me demande si une réinstallation totale du DSM règlerai le problème. Mais comme tout le reste marche et correspond à 99% de mon usage, j'hésite...

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.