Qnap [ Caddy ] [ 1.0.4 ] Fast, cross-platform HTTP/2 web server with automatic HTTPS

A ben non j'ai pas beaucoup changé, surtout adapté à mon cas et automatisé l'ensemble vu que ça marche bien ainsi ;)
Tuto (très sommaire) dispo : https://www.forum-nas.fr/viewtopic.php?f=55&t=8928&p=60518#p60518
 
Ah cool, il tombe bien celui la je ne le connaissais pas et j'allais faire du reverse proxy. Merci beaucoup.

Edit : J'ai désactiver le https dans les paramètres "qnap web", rediriger les port "80" et "443" sur la box vers le NAS. Mon IP public pointe vers ma Zone DNS "A"

Dans le fichier caddy :

Code:
mon.domaine.com {

	tls {
		load /.../
	}

	header / {
		Strict-Transport-Security "max-age=31536000;"
		X-XSS-Protection "1; mode=block"
		X-Content-Type-Options "nosniff"
		X-Frame-Options "DENY"
		Content-Security-Policy ""
		Referrer-Policy "strict-origin-when-cross-origin"
		-Server
	}

	proxy /radarr adresse ip:port { 	# radarr qpkg
		transparent
	}
}

Je lance la conf avec :

Code:
# caddy -conf .../caddy.conf&

Et j'obtiens :

# Activating privacy features... done.
https://mon.domaine.com:205

J'arrive a me connecté sur "mon.domaine.com" en https avec directement l'interface Qnap (avec l'extension /cgi-bin) mais caddy n'est pas pris en compte.
 
Naaa je veux pas, c'est perso :geek: :cool:

QoolBox a dit:
oui très simple...

faut vraiment que je creuse et prenne le temps de m'y pencher un peu plus...
il peut même exploiter le php-fpm comme le ferait NGinx

Tiens cadeau

Code:
    	fastcgi /.../php-fpm php {
        	index index.php
	}
    	rewrite {
        	to {path} /index.php?p={path}&{query}
	}
 
baba13 a dit:
Ah cool, il tombe bien celui la je ne le connaissais pas et j'allais faire du reverse proxy. Merci beaucoup.

Edit : J'ai désactiver le https dans les paramètres "qnap web", rediriger les port "80" et "443" sur la box vers le NAS. Mon IP public pointe vers ma Zone DNS "A"

Dans le fichier caddy :

Code:
mon.domaine.com {

	tls {
		load /.../
	}

	header / {
		Strict-Transport-Security "max-age=31536000;"
		X-XSS-Protection "1; mode=block"
		X-Content-Type-Options "nosniff"
		X-Frame-Options "DENY"
		Content-Security-Policy ""
		Referrer-Policy "strict-origin-when-cross-origin"
		-Server
	}

	proxy /radarr adresse ip:port { 	# radarr qpkg
		transparent
	}
}

Je lance la conf avec :

Code:
# caddy -conf .../caddy.conf&

Et j'obtiens :

# Activating privacy features... done.
https://mon.domaine.com:205

J'arrive a me connecté sur "mon.domaine.com" en https avec directement l'interface Qnap (avec l'extension /cgi-bin) mais caddy n'est pas pris en compte.

Qu'entends-tu par "caddy n'est pas pris en compte" ? Tu ne peux pas y accéder depuis l'extérieur ?
 
Et bien avec ou sans Caddy c'est pareil j'arrive a me connecté sur "mon.domaine.com" en https avec directement l'interface Qnap (avec l'extension /cgi-bin) .

Edit : il n'y a rien qui s'inscrit dans le fichier log (vide) quand je lance ou kill caddy
 
Tu dis que tu as coupé https mais c'était celui dans "Serveur Web" ou celui dans "Réglages de base" ? Le premier sert pour les sites que tu mets dans un dossier, le second c'est l'administration du QNAP.
Dans l'idée je dirais qu'il faut essayer ainsi (les ports sont des exemples) :
-Ouvrir le 9191 dans la box et fermer le 9090
-Régler l'administration du NAS dans "Réglages de base" en http sur le 9090
-Avoir une règle Caddy du type :
Code:
https://MON_DOMAINE:9191 {
	proxy / http://IP_NAS_LOCALE:9090 {
		transparent
	}
}
-Lancer Caddy
-Ouvrir le navigateur sur https://MON_DOMAINE:9191

PS : méfie toi, parfois en réseau local, sur les box "https://MON_DOMAINE:9191" va mal reboucler donc essaye par exemple depuis ton téléphone en 4g, pour éviter ce soucis dans un premier temps...
 
Oui j'ai coupé https dans "Serveur Web". En changent les port cela fonctionne avec une redirection sur l'interface qnap. Par contre si je veux redirigé l'apps "radarr" cela ne fonctionne pas

https://MON_DOMAINE/radarr

Code:
https://MON_DOMAINE:9191 {
	proxy / http://IP_NAS_LOCALE:9090 {
		transparent
	}
	proxy /radarr adresse ip:port { 
		transparent
	}
}

Merci
 
et si tu essayes :
Code:
https://MON_DOMAINE:9191 {
	proxy / http://IP_NAS_LOCALE:9090 {
		transparent
	}
}
https://radarr.MON_DOMAINE:9191 {
	proxy / http://ip_radarr:port {
		transparent
	}
}

Sinon :
Code:
https://MON_DOMAINE:9191 {
	proxy / http://IP_NAS_LOCALE:9090 {
		transparent
	}
}
https://MON_DOMAINE:9192 {
	proxy / http://ip_radarr:port {
		transparent
	}
}
Mais c'est dommage ça fait ouvrir 2 ports différents.

J'ai pas encore fait en multi proxy donc la je sais pas après.
 
Sauf à utiliser un autre port. Sinon autre idée, à tester, sans / racine :
Code:
https://MON_DOMAINE:9191/qnap{
	proxy / http://IP_NAS_LOCALE:9090 {
		transparent
	}
}
https://MON_DOMAINE:9191/radarr {
	proxy / http://ip_radarr:port {
		transparent
	}
}
 
D'accod merci. Par contre es-t’il possible de se connecté avec https://MON_DOMAINE.COM sans le "port" ? Car si j'enleve le "port" dans le navigateur ca me redirige vers l'interface qnap.

Je voudrais https://MON_DOMAINE.COM géré par caddy (sans le :port) et éventuellement je vais créer un CNAME https://QNAP.MON_DOMAINE.COM pour l'interface
 
Si tu veux sans le "port" il faut être en 443 pour le https dans Caddy, mais du coup Caddy doit forcément tourner en admin (port <1024).
 
C'est une mauvaise chose qu'il tourne en admin? C'est comme QNginx ? Du coup pour qu’il tourne en admin il faut que je mette la conf dans le.qpkg ou y a moyen de le lancer autrement ?
 
De base moins il y a de chose en admin mieux c'est oui, normalement on ne laisse pas un serveur web en admin/root.
Pour éviter d'être en admin, il faut le lancer en étant dans un dossier où le compte restreint à les droits d’écriture, et il doit avoir accès à la conf et aux certificats (en lecture seule ça suffit), le lancement comme ça par exemple :
Code:
cd /share/homes/USER_LIMITE
sudo -u USER_LIMITE caddy -conf /share/homes/USER_LIMITE/caddy.conf&
Et on ne peut pas se servir de ports <1024, donc pour le 80/443 standard, tant que Caddy ne gère pas la redescente des privilèges comme Apache par exemple, c'est déconseillé désolé.

Pour le fait d'être redirigé vers l'admin qnap quand tu précises rien, c'est qu'elle doit être sur le 443 donc elle.
 
Effectivement c'est pas top, dans ce cas la il suffit d'installer Caddy via un conteneurs pour atténuer les risques.
 
Caddy en non root et fonctionnel sur le port 80 et 443 :
Code:
last pid: 27675;  load averages:  0.29,  0.26,  0.25                                                                          up 7+18:39:12  11:02:19
7 processes:   1 running, 6 sleeping
CPU:     % user,     % nice,     % system,     % interrupt,     % idle
Mem: 977M Active, 906M Inact, 531M Laundry, 26G Wired, 3259M Free
ARC: 20G Total, 10G MFU, 9232M MRU, 10M Anon, 132M Header, 1004M Other
     18G Compressed, 23G Uncompressed, 1.28:1 Ratio
Swap: 8192M Total, 75M Used, 8116M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
26290 www          19  20    0 26184K 15204K uwait   2   0:01   0.00% caddy
25636 root          1  20    0 19660K  3300K pause   1   0:00   0.00% csh
25635 root          1  52    0 43764K  2340K wait    7   0:00   0.00% login
25588 root          1  20    0 12592K  2024K nanslp  0   0:00   0.00% cron
27675 root          1  20    0 20160K  2480K CPU4    4   0:00   0.00% top
25520 root          1  20    0 10500K  2040K select  2   0:00   0.00% syslogd
26289 www           1  20    0 10468K  1708K piperd  2   0:00   0.00% daemon
Code:
 # sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      caddy      26290 3  tcp4   *:8181                *:*
www      caddy      26290 5  tcp4   *:80                  *:*
www      caddy      26290 6  tcp4   *:443                 *:*
www      caddy      26290 8  tcp4   192.168.15.3:443      192.168.0.100:2503
www      caddy      26290 14 tcp4   192.168.15.3:29881    192.168.15.4:32400
Note : La méthode que j'utilise pour arriver a ce résultat n'est pas applicable ici. Cependant dans un conteneur il est aussi possible d'arriver a ce résultat.