[Synology] Accéder à son NAS depuis le boulot (DSM 5.0)


Et voilà, je viens de mettre à jour mon NAS en DSM 5.0 suite à la correction de la faille sur OpenSSL. Il y a eu quelques gros changements  et il fallait que je puisse de nouveau accéder à mon NAS sur le port 80 ou 443 (SSL).

Voir mon article précédent sur le sujet : [Synology] Accéder à son NAS depuis le boulot

Sur la DSM 5.0, le fonctionnement est identique mais les fichiers de configuration ont changés.

Tutorial

J’ai trouvé plein de tuto sur le net pour le faire mais je vais vous proposer une solution plus simple et plus proche de la conf DSM. En espérant que Synology fasse l’intégration d’une solution par écran dans ces prochaines versions de la DSM.

Se mettre dans de bonne condition en effectuant une petite manipulation dans l’interface.

  • Création d’un virtual host qui pointe vers un répertoire de votre site web.

Exemple : répertoire Leed vers votre appli.votredomaine.com

DSM 5.0 Hôte Virtuel

Le DSM ajoute ça à la fin du fichier de configuration d’apache /etc/httpd/conf/httpd.conf

Include /etc/httpd/sites-enabled-user/httpd-vhost.conf-user
DocumentRoot "/var/services/web

Et met à jour les fichiers qui vont suivre plus bas. Il faudra remplacer leurs contenus par les commandes suivantes.

  • Changement de la configuration des virtual host

Modifier le fichier suivant. L’objectif est donc de rediriger

    • appli.votredomaine.com (port 443) vers votre NAS (port 5001) ou/et
    • appli.votredomaine.com (port 80) vers votre NAS (port 5000)
# Pour https
vi /etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user

<VirtualHost *:443>
  ServerName nas.cobestran.com
  SSLEngine on
  SSLProxyEngine on
  ProxyPass / https://localhost:5001/
  ProxyPassReverse / https://localhost:5001/
</VirtualHost>

# Pour http
vi /etc/httpd/sites-enabled-user/httpd-vhost.conf-user

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName appli.votredomaine.com
  ProxyPass / https://localhost:5000/
  ProxyPassReverse / https://localhost:5000/
</VirtualHost>

Il ne vous reste plus qu’a faire un redémarrage du service

# Arrêt du service
/sbin/initctl stop httpd-user
# Démarrage du service
/sbin/initctl start httpd-user

et c’est terminé, il ne vous reste plus qu’a tester !

, ,

  1. #1 by badmaniak on 19/08/2014 - 16 h 35 min

    Salut,
    Pourquoi ne pas faire du nat avec ton routeur par exemple :
    tout ce qui arrive sur 443 de l’ip publique je le renvois vers le port 5001 du l’IP du Syno ??

    Sinon sympa ton tuto, je l’ai testé ça fonctionne vraiment bien.

    @+

  2. #2 by Maël on 20/08/2014 - 21 h 03 min

    Salut badmaniak, je crois que j’avais testé à l’époque et il y avait un soucis avec la redirection sur l’url en 5001. tu as testé avec une redirection nat simple ?

  3. #3 by xhark on 29/08/2014 - 10 h 52 min

    Que ce soit la modification du port externe DSM ou via NAT je n’ai aucun souci, je trouve que tu te compliques la vie pour pas grand chose :)

    Le port 8080 passe bien en général, y compris avec les proxy. Cela évite de laisser le 80 ou 443 ouvert

  4. #4 by Maël on 29/08/2014 - 11 h 09 min

    Bonjour Xhark, effectivement c’est une solution plus simple et elle implique d’avoir une box adsl qui permet de faire la redirection ou un routeur externe. (ce qui devrait être le cas pour la majorité des personnes maintenant coté box)

    pour le 8080, il est ouvert sur quasi tous les proxy donc c’est un choix judicieux. D’ailleurs, on peut directement changer le port 5000 ou 5001 sur le port 8080 dans la conf du NAS.
    😉

  5. #5 by xhark on 29/08/2014 - 11 h 26 min

    Toutes les box permettent le NAT en 2014 :)
    Si ce n’est pas le cas tu peux changer le port dans DSM :
    Panneau de config > accès externe (connectivité) > avancé

  6. #6 by Pews on 15/11/2014 - 13 h 23 min

    Moi j’ai mis en place HAPROXY (un reverse proxy) pour rerouter des URL vers les bons ports du NAS :
    http://dsm.toto.fr (redirection vers le port 5000)
    https://dsm.toto.fr (redirection vers le port 5001)
    http://audio.toto.fr (port 8800)
    http://video.toto.fr (9007)

  7. #7 by Lord Cigogne on 27/01/2015 - 12 h 13 min

    Bonjour,
    Merci pour votre tuto.
    Avant mise en place, j’aimerai savoir si cette configuration restera aprés une mise à jour de DSM.
    En ce moment, Synology fait pas mal de mise à jour et je n’aimerai pas passer mon temps a refaire cette configuration 😉
    Merci d’avance pour votre réponse

  8. #8 by Maël on 22/03/2015 - 22 h 18 min

    Bonsoir, Apparemment oui, je fais toutes les mises à jour et je n’ai pas besoin d’effectuer de changement.

  9. #9 by kyouchuu on 22/09/2015 - 22 h 21 min

    Bonjour,

    je dois avoir un soucis dans ma configuration apache car lorsque je rentre appli.votredomaine.com dans mon navigateur je tombe sur la page bleu de synology « web station a été activé… »
    pour info « votredomaine.com » est en « monnas.synology.me » pour moi. ma conf des fichiers Vhosts est la même que celle du tuto (à part les serverName)

  10. #10 by tyzef on 16/10/2015 - 22 h 32 min

    Rmq DSM 6.0 :
    les fichiers ont été déplacés dans /usr/local/etc/httpd/sites-enabled

  11. #11 by tom on 10/11/2015 - 14 h 26 min

    Bonjour,
    testé sur DSM 5.2 cette solution fonctionne uniquement si vous etes a l’interieur.
    En effet, depuis l’exterieur si je tape: http://mon.adresse.externe
    la redirection du vhost n’est pas transparente et dirige vers
    http://localhost:5000/
    qui n’est evidemment pas accessible de l’exterieur.
    Sans surprise… a moins que j’ai loupé quelque chose?
    A+

  12. #12 by Eric on 24/02/2016 - 16 h 16 min

    Très bon tuto, merci.
    N’ayant pas de certif SSL wildcard (multi sous-domaines), ton tuto m’a permit de comprendre comment faire du proxypass vers d’autres app locales.

  13. #13 by Maël on 28/02/2016 - 20 h 27 min

    de rien, l’article date un peu mais cela reste valable sur le fond.
    désolé pour les messages assez ancien. j’ai eu un souci de mail et je n’ai rien vu …

  14. #14 by Arcadio on 29/03/2016 - 16 h 27 min

    MAJ avec la sotie du DSM 6 = plus besoin de faire ça, il existe nativement une option pour faire du reverse proxy depuis l’interface DSM :

    – Panneau de configuration
    – Portail des applications
    – Onglet « Proxy inversé »

  15. #15 by Louix on 01/04/2016 - 21 h 09 min

    Bonjour,
    Bon je suis pas tres bon la dedans mais j’ai réussi a m’en sortir sur DSM 6.0
    En fait il n’y a plus besoin de modifier de fichier en SSH, la fonction reverse proxy a été intégré dans l’interface DSM.
    Il faut aller dans Panneau de configuration/portail des applications
    onglet proxy inversé
    ensuite creer par exemple:
    Source
    Protocole: HTTPS
    Nom d’hote: votredomaine.com
    Port: 443
    Destination
    Protocole: HTTPS
    Nom d’hote: localhost
    Port: 5001

    J’espere comme ca éviter a d’autre de perdre quelques heures comme moi 😉

  16. #16 by Balisong on 09/09/2016 - 15 h 25 min

    tom :
    Bonjour,
    testé sur DSM 5.2 cette solution fonctionne uniquement si vous etes a l’interieur.
    En effet, depuis l’exterieur si je tape: http://mon.adresse.externe
    la redirection du vhost n’est pas transparente et dirige vers
    http://localhost:5000/
    qui n’est evidemment pas accessible de l’exterieur.
    Sans surprise… a moins que j’ai loupé quelque chose?
    A+

    Pour ceux qui ont le même problème, essayez de rajouter la directive ProxyPreserveHost On dans votre vhost pour voir si ça règle le problème.

(ne sera pas publié)