Bonjour tout le monde !
Je viens d’installer Yunohost sur une petite machine chez moi. Je trouve que c’est un excellent projet ! Ça faisait un moment que je cherchais des solutions simples à mettre en place et facile à administrer pour de l’auto-hébergement, je crois que j’ai trouvé ce qu’il me faut !
J’ai quand même un petit souci. Comme la plupart des personnes, je n’ai qu’une seule IP publique chez moi. Mon problème est que j’ai plusieurs machines sur mon réseau local qui doivent servir du contenu à l’extérieur, sur le même port. Concrètement, il y a ma machine sur laquelle tourne Yunohost, et il y a un NAS. Les deux doivent être accessibles depuis l’extérieur sur le port 443 (voire 80, mais si je peux tout faire en HTTPS, c’est mieux).
Pour résoudre ce problème, j’ai voulu configurer le Nginx de ma machine Yunohost en reverse proxy, pour faire en sorte que quand on appelle mondomaine.tld, on tombe sur Yunohost, et quand on appelle nas.mondomaine.tld, la reqûete arrive sur la machine Yunohost qui fait reverse proxy vers mon NAS.
Pour cela, j’ai essayé de suivre ce tuto : http://doc.ubuntu-fr.org/tutoriel/reverse_proxy_nginx
J’ai donc rajouté le fichier /etc/nginx/conf.d/proxy.conf, dont voici le contenu :
root@debian:~# more /etc/nginx/conf.d/proxy.conf
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
proxy_intercept_errors on;
proxy_buffering on;
proxy_cache_key "$scheme://$host$request_uri";
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=cache:10m inactive=7d max_size=700m;
J’ai aussi créé un nouveau virtual host nas. Je n’ai pas fait la conf HTTPS pour le moment.
root@debian:~# more /etc/nginx/sites-available/nas
server {
listen 80;
server_name nas.mondomaine.tld;
# Log d'acces
#access_log off;
access_log /var/log/nginx/default.access.log;
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
location / {
proxy_pass http://192.168.1.151/;
}
error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 500 501 502 503 504 505 506 507 /error.html;
location = /error.html {
root /var/www/nginx-default;
}
}
J’ai bien créé un lien symbolique dans /etc/nginx/sites-enabled et relancé le service nginx.
Je pensais que ça suffirait. Sauf qu’en appelant nas.mondomaine.tld, je tombe sur la page d’admin de Yunohost. Sur le serveur, je ne vois même pas le fichier /var/log/nginx/default.access.log qui devrait contenir les logs d’accès pour ce virtual host.
Quelqu’un aurait une idée de comment je pourrais faire fonctionner cela ?
Je commence à penser à une solution de contournement, à savoir incorporer les pages servies par mon NAS dans des iframe dans des pages servies par la machine Yunohost. Mais ça me parait pas très propre.
Merci d’avance pour votre aide !