nougalo Posté(e) le 11 juin 2015 Partager Posté(e) le 11 juin 2015 (modifié) Bonjour à tous, c'est mon premier post ici mais je me suis déjà bien abreuvé des infos que j'ai pu trouver sur le forum. Hier j'ai commencé ma conf Haproxy afin de faire du reverse proxy pour les différents services que j'utilise. Jusque là tout va bien mais je m'aperçois qu'en rebootant mon syno, les services "httpd-user" et "Web Station service" ne démarrent pas. Idéalement j'aimerais attribuer une adresse du type appweb.domaine.com à mes application web (TTRSS et Owncloud), comme je l'ai fait pour les services "classiques" (ex dsm, download station...). J'imagine que je vais devoir utiliser les Virtual Host du syno pour attribuer un port spécifique à mes applis web, mais Web Station ne voulant pas démarrer je ne peux pas aller plus loin. Je pense avoir une conf qui tient la route, mais je vous demande votre avis sur celle ci. Vous avez une idée de ce qui empêche "httpd-user" et "Web Station service" de démarrer ? Merci d'avance. Modifié le 15 juin 2015 par nougalo 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 11 juin 2015 Partager Posté(e) le 11 juin 2015 (modifié) ne fais pas écouter haproxy sur le port TCP80 ou 443 (ou tout autre port utilisé par le synology) => laisse les ports par défaut place tous les services dont tu as besoin (ttrss, ...) derrière haproxy forward les ports de ton routeurs vers ceux d'haproxy ps : on ne peut pas accéder aux fichiers uplodé ici, copie colle la conf) Modifié le 15 juin 2015 par Fenrir 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 15 juin 2015 Auteur Partager Posté(e) le 15 juin 2015 Merci pour ta réponse Fenrir, J'ai laissé le port d'écoute de base sur Haproxy (82'80) et sur mon routeur j'ai redirigé les '80 et 443 vers le http et le https d'Haproxy (5080 & 5443). J'ai vu plusieurs fois ce genre de conf, tu penses que ce n'est pas bon ? Ma conf : global daemon maxconn 256 log localhost user info spread-checks 10 tune.ssl.default-dh-param 2048 defaults mode http stats enable default-server inter 30s fastinter 5s log global option httplog timeout connect 5s timeout client 50s timeout server 50s timeout tunnel 1h listen stats :8280 stats uri / stats show-legends stats refresh 10s stats realm Haproxy\ Statistics stats auth admin:password userlist my_users user monuser insecure-password monpassword frontend http bind :5080 redirect scheme https unless { hdr_beg(Host) -i web. } use_backend web if { hdr_beg(Host) -i web. } default_backend web frontend https bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pem ciphers AESGCM+AES128:AES128:AESGCM+AES256:AES256:RSA+RC4+SHA:!RSA+AES:!CAMELLIA:!aECDH:!3DES:!DSS:!PSK:!SRP:!aNULL no-sslv3 option http-server-close option forwardfor rspirep ^Location:\ http://(.*)$ Location:\ https://\1 rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains use_backend dsm if { hdr_beg(Host) -i dsm. } use_backend sabnzbd if { hdr_beg(Host) -i sabnzbd. } use_backend nzbget if { hdr_beg(Host) -i nzbget. } use_backend sickbeard if { hdr_beg(Host) -i sickbeard. } use_backend couchpotatoserver if { hdr_beg(Host) -i couchpotatoserver. } use_backend headphones if { hdr_beg(Host) -i headphones. } use_backend maraschino if { hdr_beg(Host) -i maraschino. } use_backend znc if { hdr_beg(Host) -i znc. } use_backend transmission if { hdr_beg(Host) -i transmission. } use_backend gateone if { hdr_beg(Host) -i gateone. } use_backend webdav if { hdr_beg(Host) -i webdav. } use_backend audio if { hdr_beg(Host) -i audio. } use_backend download if { hdr_beg(Host) -i download. } use_backend surveillance if { hdr_beg(Host) -i surveillance. } use_backend video if { hdr_beg(Host) -i video. } use_backend file if { hdr_beg(Host) -i file. } use_backend haproxy if { hdr_beg(Host) -i haproxy. } use_backend deluge if { hdr_beg(Host) -i deluge. } use_backend plex if { hdr_beg(Host) -i plex. } default_backend web backend web server web localhost:80 check backend dsm server dsm localhost:5000 check backend sabnzbd server sabnzbd localhost:8080 check backend nzbget server nzbget localhost:6789 check backend sickbeard server sickbeard localhost:8081 check backend couchpotatoserver server couchpotatoserver localhost:5050 check backend headphones server headphones localhost:8181 check backend maraschino server maraschino localhost:8260 check backend znc server znc localhost:8250 check backend transmission server transmission localhost:9091 check backend gateone server gateone localhost:8271 ssl check verify none backend webdav server webdav localhost:5005 check backend audio server audio localhost:8800 check backend download server download localhost:8000 check backend surveillance server surveillance localhost:9900 check backend video server video localhost:9007 check backend file server file localhost:7000 check backend haproxy server haproxy localhost:8280 check backend deluge server deluge localhost:8112 check backend plex acl auth_access http_auth(my_users) http-request auth realm Authentification if !auth_access server plex localhost:32400 check backend tt-rss server tt-rss localhost:6661 check 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 15 juin 2015 Partager Posté(e) le 15 juin 2015 Je ne connais pas par cœur les directive d'haproxy, mais tu n'as pas déclaré d'association frontend-backend pour ttrss. ... frontend https ... use_backend ttrss if { hdr_beg(Host) -i ttrss. } default_backend web ... backend ttrss server ttrss localhost:6661 check 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 15 juin 2015 Auteur Partager Posté(e) le 15 juin 2015 Non c'est vrai, sur la conf que j'ai posté ici j'avais dégagé l'association avec le frontend qui ne fonctionnait pas. Avec le backend je voulais rediriger sur le port 6661, port que j'aimerai attribué via un virtual host. J'imagine qu'une conf comme ça devrait marcher, mais appache ne veux pas démarrer (cf mon premier message) donc les virtual host ne fonctionnent pas. SI j'ai bien saisi, avec un virtual host du style : sous dossier : tt-rss, hostname : tt-rss.domain.com, HTTP, sur port 6661 Plus une association backend frontend ça devrait passer. Mais pas d'apache, donc pas de virtual host. Ce que je dis te semble logique ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 15 juin 2015 Partager Posté(e) le 15 juin 2015 oui et non, Apache, Nginx et haproxy peuvent tous les 3 répondre à ton besoin, mais pas aussi facilement. ne touche pas à la conf d'apache fait en sorte que tes appli fonctionnent dans leur conf par défaut utilise haproxy pour modifier les url/port Je te recommande d'utiliser haproxy car c'est le seul dont la configuration n'est pas altérée par les mises à jour de synology et les appli par défaut. Pour info/rappel, un reverse proxy est un serveur "mandataire" : le client fait une demande au reverse proxy : https://ttrss.domain.tld:5443 le reverse proxy analyse la demande (ip/port/url/...) : l'adresse commence par ttrss puis il interroge la ressource qui correspond à la requète : il interroge http://localhost:6661 il modifie (si besoin) cette réponse (ip/port/url/...) : il remplace http://localhost:6661 dans les pages par https://ttrss.domain.tld:5443 il transmet la réponse (modifiée) au client 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 18 juin 2015 Auteur Partager Posté(e) le 18 juin 2015 J'avais une erreur dans ma conf apache que j'avais bidouillé avant de m'attaquer à Haproxy, j'ai restaurer le fichier httpd.conf-user d'origine est maintenant mon service tt-rss peut démarrer en local. Super . Du coup, je n'utilise que Haproxy pour mes redirections, comme tu le conseil Fenrir. En fait, ce que je me demandais au début, c'est comment faire une redirection dans haproxy pour un service comme ttrss, qui est un site web donc dans le dossier www. Avec les autres appli c'est plus simple, elles ont directement un port sur lequel on s'appuie pour faire la redirection, mais ttrss utilisant le port j'ai pensai qu'il fallait passer par les virtual host. Ca me permettrai d'attribuer un port à ttrss, puis de faire ma redirection. Fenrir, t'en pense quoi ? Tu l'as déjà fait ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 18 juin 2015 Auteur Partager Posté(e) le 18 juin 2015 Après avoir configuré un virtual host via l'interface synology pour TT-RSS du style : nom du service :tt-rss nom d'hote : localhost port : 6661 protocole : HTTP J'arrive à accéder à l'application depuis l'adresse locale : mon@ip:6661 (donc mon virtual host semble OK), mais la redirection que j'ai mis en place dans Haproxy ne fonctionne pas et me renvoi sur un : 503 Service UnavailableNo server is available to handle this request. Quelqu'un a une idée pour router l'application via Haproxy ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 18 juin 2015 Partager Posté(e) le 18 juin 2015 post ta conf apache et haproxy ici 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 22 juin 2015 Auteur Partager Posté(e) le 22 juin 2015 Ci dessous ma conf apache, mais qui est normalement la conf par défaut : ServerRoot "/etc/httpd" Listen 80 LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule include_module modules/mod_include.so LoadModule filter_module modules/mod_filter.so LoadModule deflate_module modules/mod_deflate.so LoadModule log_config_module modules/mod_log_config.so #LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule headers_module modules/mod_headers.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule mime_module modules/mod_mime.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule asis_module modules/mod_asis.so LoadModule cgid_module modules/mod_cgid.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so User http Group http ServerAdmin admin ServerName *:80 <Directory /> Options FollowSymLinks AllowOverride All RewriteEngine on RewriteCond %{HTTP:Transfer-Encoding} chunked RewriteRule ^(.*)$ http://localhost:412/$1 [P] </Directory> <Directory "/var/services/web"> Options MultiViews FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> <Directory "/usr/syno/synoman/phpsrc/web"> Options MultiViews FollowSymLinks ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/usr/syno/synoman/empty/web"> Options MultiViews FollowSymLinks ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> <IfModule dir_module> DirectoryIndex index.html index.htm index.cgi index.php index.php5 </IfModule> <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> ErrorLog /var/log/httpd/user-error_log #ErrorLog /dev/null TraceEnable off LogLevel error <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog /dev/null combined #CustomLog /var/log/httpd/user-access_log combined </IfModule> <IfModule alias_module> Alias /webman/pingpong.php /usr/syno/synoman/phpsrc/pingpong.php </IfModule> ScriptSock /run/httpd/user-cgisock DefaultType text/plain <IfModule mime_module> TypesConfig conf/mime.types AddEncoding x-compress Z AddEncoding x-gzip gz tgz AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType image/x-icon .ico AddHandler cgi-script .cgi </IfModule> MIMEMagicFile conf/magic <IfDefine HAVE_PHP> Alias /webdefault/ "/usr/syno/synoman/phpsrc/web/" </IfDefine> <IfDefine !HAVE_PHP> Alias /webdefault/ "/usr/syno/synoman/empty/web/" </IfDefine> <IfDefine HAVE_PHP> ErrorDocument 403 /webdefault/error.html ErrorDocument 404 /webdefault/error.html ErrorDocument 500 /webdefault/error.html Include conf/extra/mod_fastcgi.conf </IfDefine> EnableMMAP off Include conf/extra/httpd-mpm.conf-user Include conf/extra/httpd-autoindex.conf-user Include conf/extra/httpd-languages.conf-user Include conf/extra/httpd-default.conf-user <IfDefine SSL> <IfDefine !SPDY> LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf </IfDefine> <IfDefine SPDY> LoadModule ssl_module modules/mod_ssl_npn.so Include conf/extra/httpd-ssl.conf Include conf/extra/mod_spdy.conf </IfDefine> </IfDefine> <IfModule deflate_module> DeflateCompressionLevel 2 AddOutputFilterByType DEFLATE text/html text/plain text/xml AddOutputFilter DEFLATE js css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.[0678] no-gzip BrowserMatch \bMSIE\s7 !no-gzip !gzip-only-text/html </IfModule> <Files *.js> Header unset Etag </Files> <Files *.css> Header unset Etag </Files> # For CVS-2001-1446 <Files ~ "^\.([Hh][Tt]|[Dd][Ss]_[Ss])"> Order allow,deny Deny from all Satisfy All </Files> # For @eaDir <DirectoryMatch "@eaDir"> Order allow,deny Deny from all Satisfy All </DirectoryMatch> # For CVE-2003-1418 FileETag MTime Size <VirtualHost *:80> Include sites-enabled-user/*.conf </VirtualHost> include conf/extra/mod_xsendfile.conf-user Include conf/extra/httpd-reqtimeout.conf Include conf/extra/httpd-proxy-autoconf.conf-user Et ici ma conf Haproxy : global daemon maxconn 256 log localhost user info spread-checks 10 tune.ssl.default-dh-param 2048 defaults mode http stats enable default-server inter 30s fastinter 5s log global option httplog timeout connect 5s timeout client 50s timeout server 50s timeout tunnel 1h listen stats :8280 stats uri / stats show-legends stats refresh 10s stats realm Haproxy\ Statistics stats auth admin:password userlist my_users user monuser insecure-password monpassword frontend http bind :5080 redirect scheme https unless { hdr_beg(Host) -i web. } use_backend web if { hdr_beg(Host) -i web. } frontend https bind :5443 ssl crt /usr/local/haproxy/var/crt/default.pem ciphers AESGCM+AES128:AES128:AESGCM+AES256:AES256:RSA+RC4+SHA:!RSA+AES:!CAMELLIA:!aECDH:!3DES:!DSS:!PSK:!SRP:!aNULL no-sslv3 option http-server-close option forwardfor rspirep ^Location:\ http://(.*)$ Location:\ https://\1 rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains use_backend dsm if { hdr_beg(Host) -i dsm. } use_backend sabnzbd if { hdr_beg(Host) -i sabnzbd. } use_backend nzbget if { hdr_beg(Host) -i nzbget. } use_backend sickbeard if { hdr_beg(Host) -i sickbeard. } use_backend couchpotatoserver if { hdr_beg(Host) -i couchpotatoserver. } use_backend headphones if { hdr_beg(Host) -i headphones. } use_backend maraschino if { hdr_beg(Host) -i maraschino. } use_backend znc if { hdr_beg(Host) -i znc. } use_backend transmission if { hdr_beg(Host) -i transmission. } use_backend gateone if { hdr_beg(Host) -i gateone. } use_backend webdav if { hdr_beg(Host) -i webdav. } use_backend audio if { hdr_beg(Host) -i audio. } use_backend download if { hdr_beg(Host) -i download. } use_backend surveillance if { hdr_beg(Host) -i surveillance. } use_backend video if { hdr_beg(Host) -i video. } use_backend file if { hdr_beg(Host) -i file. } use_backend haproxy if { hdr_beg(Host) -i haproxy. } use_backend deluge if { hdr_beg(Host) -i deluge. } use_backend plex if { hdr_beg(Host) -i plex. } use_backend tt-rss if { hdr_beg(Host) -i ttrss2. } backend web server web localhost:80 check backend dsm server dsm localhost:5000 check backend sabnzbd server sabnzbd localhost:8080 check backend nzbget server nzbget localhost:6789 check backend sickbeard server sickbeard localhost:8081 check backend couchpotatoserver server couchpotatoserver localhost:5050 check backend headphones server headphones localhost:8181 check backend maraschino server maraschino localhost:8260 check backend znc server znc localhost:8250 check backend transmission server transmission localhost:9091 check backend gateone server gateone localhost:8271 ssl check verify none backend webdav server webdav localhost:5005 check backend audio server audio localhost:8800 check backend download server download localhost:8000 check backend surveillance server surveillance localhost:9900 check backend video server video localhost:9007 check backend file server file localhost:7000 check backend haproxy server haproxy localhost:8280 check backend deluge server deluge localhost:8112 check backend plex acl auth_access http_auth(my_users) http-request auth realm Authentification if !auth_access server plex localhost:32400 check backend tt-rss server ttrss2 localhost:6661 check 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 22 juin 2015 Partager Posté(e) le 22 juin 2015 Il manque tous les includes d'apache, en particuliers ceux de des vhosts. Mais encore une fois, n'utilise pas les vhosts, installe simplement ttrss et configure son accès uniquement via haproxy. A noter que je n'ai jamais testé le paquet ttrss, je l'installe depuis les sources, le paquet fait peut être des trucs en plus 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 23 juin 2015 Auteur Partager Posté(e) le 23 juin 2015 Ok, pas de vhosts, ça me va. Et tu met quoi comme règle dans haproxy pour faire la redirection ? Chez moi tt-rss est accessible dans le dossier web via le port 80, jusque là sur Haproxy je n'ai fait que des redirections de ports, mais pour ttrss je ne vois pas comment rediriger. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fenrir Posté(e) le 23 juin 2015 Partager Posté(e) le 23 juin 2015 Je viens d'installer tout le bazar (mariadb, haproxy et ttrss) pour faire le test. J'avais oublié que ttrss se servait de l'URL et ne peut donc pas fonctionner (facilement) sur 2 chemins différents (http://tonnas/tt-rss et http://rss.domain.tld/). Au final on va tout de même devoir passer par les vhosts, mais de manière détournée (juste pour changer le port), désolé. Pour l'exemple, je pars du principe que tu souhaites atteindre ton app avec l'url http://rss.domain.tld et que la résolution DNS de rss.domain.tld renvoi l'ip de ton nas (en local tu peux tricher en modifiant ton fichier hosts). dans Web Services, créé une nouvelle instance d'apache sur un port disponible, par exemple sur le port 81 Sub-folder Name: le nom du dossier où est installé tt-rss => tt-rss Hostname: peut importe, il faut juste remplir la case => la.tete.a.toto Protocole: HTTP Port: 81 dans HAProxy, créé un backend : Name: ttrss Servers: ttrss localhost:81 check Options: rien dans HAProxy, créé une association : Frontend: http Backend: ttrss Condition: if { hdr_beg(Host) -i rss. } si tu ne l'as pas fait durant l'installation modifie la directive SELF_URL_PATH du fichier config.php de tt-rss pour indiquer l'adresse completedefine('SELF_URL_PATH', 'http://rss.domain.tld/'); dans ton navigateur, entre l'adresse : http://rss.domain.tld:5080 Chez moi ça fonctionne 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nougalo Posté(e) le 24 juin 2015 Auteur Partager Posté(e) le 24 juin 2015 Il me manquait simplement le define('SELF_URL_PATH', 'http://rss.domain.tld/'); dans mon fichier de conf TTRSS, je n'avais pas du tout pensé à modifier ça. Merci pour ta patience et tes connaissances Fenrir, @+. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.