HTTPS et Nextcloud

leooo94

Dabbler
Joined
Mar 25, 2020
Messages
18
Bonjour a tous :)

J'aimerai savoir si quelqu'un ici a déjà réussi a installer un certificat HTTPS pour son Nextcloud ?

J'ai essayé des dizaines de tuto tous en anglais et a chaque fois ca échoue... Avec Certbot j'arrive a générer mon certificat (fullchaim.pem) et ma clé (privkey.pem), ensuite j'indique a Nextcloud dans le fichier nextcloud.conf le chemins vers ces nouveaux certificat et clé mais j'ai a chaque fois une connexion refusée par mon nom de domaine (je n'arrive même pas accéder a l'interface de login) et aucune solution a ca :(

En HTTP ca fonctionne a merveille et je m'en contente (fichiers vraiment pas important sur le Nextcloud et serveur hors de chez moi) mais si quelqu'un a un tuto clair ou saurai m'indiquer les étapes afin d'arriver a installer un certificat HTTPS ca serait le top :) et pas seulement pour moi car a mon avis je ne suis pas le seul a galérer avec des tuto anglais :(

Merci d'avance a ceux qui sauront m'aider !
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Bonjour,

J'utilise nextcloud mais pas au travers du plug-in FreeNAS, ça tourne sur un serveur indépendant.
Et en fait... non je n'ai pas (encore) installé le https... :tongue:
Et comme pour y accéder depuis l'extérieur je passe par un VPN, ça ne m'embête pas plus que ça. :-O

Bref, ça n'aide pas beaucoup, c'est juste un retour d'expérience...
 

leooo94

Dabbler
Joined
Mar 25, 2020
Messages
18
Merci pour ta réponse Pitfrr :) Les retours d'expériences sont aussi la bienvenu !

Ca semble être une bonne solution en effet, mais un peu plus compliqué quand on a plusieurs utilisateurs, mais pour soi-même c'est excellent ;)

Perso ca fait 1 an que je dis que je vais installer le HTTPS et je m'y met que maintenant... je n'imaginais pas que ca allait être une telle aventure...
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Ah oui en effet, dans mon cas je suis le seul utilisateur... :tongue:
Encore que... J'ai plusieurs utilisateurs qui accèdent au VPN (ils ont pas accès à NextCloud) et ça marche pas mal du tout.
Bon, la configuration côté serveur est peut-être un peu galère ou compliquée mais une fois que ça tourne... :-O (et l'ajout d'un utilisateur très rapide)

Mais c'est vrai que ça serait bien, dans tous les cas, de réussir à faire fonctionner le HTTPS.
 

Pitfrr

Wizard
Joined
Feb 10, 2014
Messages
1,531
Un thread qui me semble similaire (j'ai lu vite fait hein... :tongue:) vient de démarrer dans la section anglophone, ça peut valoir le coup d'y jeter un oeil et de le suivre si besoin... :smile:
 

Eliovir

Cadet
Joined
Dec 8, 2020
Messages
3
Bonjour,

Je n'ai même pas essayé de définir un certificat pour Nextcloud, je me suis dit qu'un reverse proxy était là pour réaliser cette tâche.
J'ai fait un jail dans lequel j'ai installé et configuré NGINX après avoir vu ce fil. Aujourd'hui, j'ai simplifié en créant un autre jail pour Caddy, et en rajoutant juste une configuration, c'est Caddy qui se charge de la récupération et du renouvellement du certificat. Une fois le binaire, le fichier rc.d et la configuration installés, le service activé, c'est fini.
Un paquet caddy en version 2.2.0 est disponible avec pkg, il est fourni avec le fichier rc.d.

Je peux décrire la façon de procéder si besoin.
 

thierry333

Cadet
Joined
Dec 12, 2020
Messages
8
Bonjour,

Je n'ai même pas essayé de définir un certificat pour Nextcloud, je me suis dit qu'un reverse proxy était là pour réaliser cette tâche.
J'ai fait un jail dans lequel j'ai installé et configuré NGINX après avoir vu ce fil. Aujourd'hui, j'ai simplifié en créant un autre jail pour Caddy, et en rajoutant juste une configuration, c'est Caddy qui se charge de la récupération et du renouvellement du certificat. Une fois le binaire, le fichier rc.d et la configuration installés, le service activé, c'est fini.
Un paquet caddy en version 2.2.0 est disponible avec pkg, il est fourni avec le fichier rc.d.

Je peux décrire la façon de procéder si besoin.

Salut Elio,

Est-ce que tu pourrais m'en dire plus sur la façon de procéder pour l'installation d'un reverse proxy?
J'ai lu pas mal de forum et fait beaucoup de recherches mais ça me paraît compliqué pour un débutant comme moi :smile:

J'aimerais bien sécuriser mon installation. Est-ce que le proxy sécurisera Truenas et Plex?

Pour info je suis sous Truenas 12 et j'utilise le partage samba ainsi que les plugins Plex et Transmission. J'ai également un serveur vpn (Open VPN)

Merci d'avance

Thierry
 

Eliovir

Cadet
Joined
Dec 8, 2020
Messages
3
Salut Thierry,

Voici les notes que j'avais prises.

  1. créer un jail sous 12.2-RELEASE avec pour options :
    • DHCP Autoconfigure IPv4
    • VNet
    • Berkeley Packet Filter
    • Démarrage automatique
  2. installer le paquet caddy avec pkg install caddy ou si on ne veut pas installer pkg suivre les étapes 3 à 6
  3. télécharger le binaire depuis https://github.com/caddyserver/caddy/releases/ (ou utiliser la commande suivante en changeant le numéro de version) :
    fetch https://github.com/caddyserver/caddy/releases/download/vA.B.C/caddy_A.B.C_freebsd_amd64.tar.gz
  4. le décompresser à /root/usr/local/bin/caddy
  5. le rendre exécutable
    chmod 744 /root/usr/local/bin/caddy
  6. créer le fichier RC /etc/rc.d/caddy
  7. créer le fichier /usr/local/etc/caddy/Caddyfile
  8. activer caddy
    sysrc caddy_enable=YES
  9. lancer caddy
    service caddy start
Je pense ne rien avoir oublié.

Les fichiers

/usr/local/etc/rc.d/caddy

Code:
#!/bin/sh
#
# $FreeBSD: branches/2020Q4/www/caddy/files/caddy.in 544283 2020-08-06 17:35:42Z pi $
#

# PROVIDE: caddy
# REQUIRE: LOGIN DAEMON NETWORKING
# KEYWORD: shutdown

# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
# caddy_enable (bool):   Set to NO by default. Set it to YES to enable caddy.
#
# caddy_config (string): Optional full path for caddy config file
# caddy_adapter (string):  Optional adapter type if the configuration is not in caddyfile format
# caddy_extra_flags (string):  Optional flags passed to caddy start
# caddy_logfile (string):     Set to "/var/log/caddy.log" by default.
#                             Defines where the process log file is written, this is not a web access log

. /etc/rc.subr

name=caddy
rcvar=caddy_enable
desc="Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go"

load_rc_config $name

# Defaults
: ${caddy_enable:=NO}
: ${caddy_config:=/usr/local/etc/caddy/Caddyfile}
: ${caddy_adapter:=caddyfile}
: ${caddy_extra_flags:=""}
: ${caddy_logfile="/var/log/caddy.log"}

command="/usr/local/bin/${name}"
caddy_flags="--config ${caddy_config} --adapter ${caddy_adapter}"
pidfile="/var/run/${name}.pid"

required_files="${caddy_config} ${command}"

# Extra Commands
extra_commands="validate reload"
start_cmd="${command} start ${caddy_flags} ${caddy_extra_flags} --pidfile ${pidfile} >> ${caddy_logfile} 2>&1"
validate_cmd="${command} validate ${caddy_flags}"
reload_cmd="${command} reload ${caddy_flags}"

run_rc_command "$1"


/usr/local/etc/caddy/Caddyfile

Code:
supersousdomaine.freeboxos.fr

route /cloud/* {
    uri strip_prefix /cloud
    reverse_proxy 192.168.0.1:8282 {
        header_up Host {host}
        header_up X-Forwarded-For {remote}
        header_up X-Forwarded-Host {host}
        header_up X-Forwarded-Port {server_port}
        header_up X-Forwarded-Proto {scheme}
        header_up X-Forwarded-Ssl on
        header_up X-Real-IP {remote}
        header_up X-Url-Scheme {scheme}
    }
}
 

thierry333

Cadet
Joined
Dec 12, 2020
Messages
8
Salut Thierry,

Voici les notes que j'avais prises.

  1. créer un jail sous 12.2-RELEASE avec pour options :
    • DHCP Autoconfigure IPv4
    • VNet
    • Berkeley Packet Filter
    • Démarrage automatique
  2. installer le paquet caddy avec pkg install caddy ou si on ne veut pas installer pkg suivre les étapes 3 à 6
  3. télécharger le binaire depuis https://github.com/caddyserver/caddy/releases/ (ou utiliser la commande suivante en changeant le numéro de version) :
    fetch https://github.com/caddyserver/caddy/releases/download/vA.B.C/caddy_A.B.C_freebsd_amd64.tar.gz
  4. le décompresser à /root/usr/local/bin/caddy
  5. le rendre exécutable
    chmod 744 /root/usr/local/bin/caddy
  6. créer le fichier RC /etc/rc.d/caddy
  7. créer le fichier /usr/local/etc/caddy/Caddyfile
  8. activer caddy
    sysrc caddy_enable=YES
  9. lancer caddy
    service caddy start
Je pense ne rien avoir oublié.

Les fichiers

/usr/local/etc/rc.d/caddy

Code:
#!/bin/sh
#
# $FreeBSD: branches/2020Q4/www/caddy/files/caddy.in 544283 2020-08-06 17:35:42Z pi $
#

# PROVIDE: caddy
# REQUIRE: LOGIN DAEMON NETWORKING
# KEYWORD: shutdown

# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
# caddy_enable (bool):   Set to NO by default. Set it to YES to enable caddy.
#
# caddy_config (string): Optional full path for caddy config file
# caddy_adapter (string):  Optional adapter type if the configuration is not in caddyfile format
# caddy_extra_flags (string):  Optional flags passed to caddy start
# caddy_logfile (string):     Set to "/var/log/caddy.log" by default.
#                             Defines where the process log file is written, this is not a web access log

. /etc/rc.subr

name=caddy
rcvar=caddy_enable
desc="Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go"

load_rc_config $name

# Defaults
: ${caddy_enable:=NO}
: ${caddy_config:=/usr/local/etc/caddy/Caddyfile}
: ${caddy_adapter:=caddyfile}
: ${caddy_extra_flags:=""}
: ${caddy_logfile="/var/log/caddy.log"}

command="/usr/local/bin/${name}"
caddy_flags="--config ${caddy_config} --adapter ${caddy_adapter}"
pidfile="/var/run/${name}.pid"

required_files="${caddy_config} ${command}"

# Extra Commands
extra_commands="validate reload"
start_cmd="${command} start ${caddy_flags} ${caddy_extra_flags} --pidfile ${pidfile} >> ${caddy_logfile} 2>&1"
validate_cmd="${command} validate ${caddy_flags}"
reload_cmd="${command} reload ${caddy_flags}"

run_rc_command "$1"


/usr/local/etc/caddy/Caddyfile

Code:
supersousdomaine.freeboxos.fr

route /cloud/* {
    uri strip_prefix /cloud
    reverse_proxy 192.168.0.1:8282 {
        header_up Host {host}
        header_up X-Forwarded-For {remote}
        header_up X-Forwarded-Host {host}
        header_up X-Forwarded-Port {server_port}
        header_up X-Forwarded-Proto {scheme}
        header_up X-Forwarded-Ssl on
        header_up X-Real-IP {remote}
        header_up X-Url-Scheme {scheme}
    }
}

Merci pour les informations.

Malheureusement je crois que mon niveau n'est pas à la hauteur de mes ambitions :wink:
Je dois commencer par les bases car le lignes de code ne parlent absolument pas.
J'ai essayé de suivre tes informations et également de suivre ce tuto: https://github.com/danb35/freenas-iocage-caddy
Sans succès.

Avec un peu de chance un plugin va sortir prochainement ce qui permettra aux débutants comme moi de pouvoir paramétrer un proxy.
 
Top