OVH Cloud OVH Cloud

Debian, nginx et Let's Encrypt

16 réponses
Avatar
Jean-Marc
--Signature=_Wed__22_Feb_2017_11_38_14_+0100_4PnpFUx8B9iy/Rgb
Content-Type: text/plain; charset=UTF-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

salut la liste,

Je me suis mis =C3=A0 l'HTTPS pour chiffrer le traffic de mon petit site.

Tout fonctionne correctement c=C3=B4t=C3=A9 Let's Encrypt et du certbot.

Config' :
Debian Jessie 8.7
certbot 0.9.3-1~bpo8+2
nginx-full 1.6.2-5+deb8u4

Hier, certbot a renouvel=C3=A9 mes certificats.
OK, tout s'est bien pass=C3=A9.

Mais si j'ouvre mon site, dans le d=C3=A9tail du certificat, c'est toujours=
l'ancien.
Sur mon serveur, il est bien renouvel=C3=A9.

Je suppose que nginx a mis le certificat en cache.
Et qu'il faut donc red=C3=A9marrer nginx.

Une id=C3=A9e de comment automatiser cela ?
Red=C3=A9marrer nginx quand le certificat est renouvel=C3=A9 ?
Ajouter une d=C3=A9pendence dans systemd pour red=C3=A9marrer nginx apr=C3=
=A8s certbot ?
On se base sur le service certbot et une modif' du fichier cert.pem ?


Jean-Marc <jean-marc@6jf.be>

--Signature=_Wed__22_Feb_2017_11_38_14_+0100_4PnpFUx8B9iy/Rgb
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEEWjgcRC0dCXkfm9hQHHLXC3pxPwFAlitahYACgkQQHHLXC3p
xPx0LA//VKkSDDNhvzfafjgbF5XcqQFwt0GX2RFAX2wU+bdmB0vNWiRjtqFoGRqm
CUBOw+kAMnM32BWJ2kCnExmlIgxzH1u2rstEHNWjfU8xqvJQA/tg19v0iY4VCvF/
VJa7GG2z9mGjUCQWSjFEUx2JTzrwNTe/aHyar63eM+NE+qGsxGUUiENr0RRyNzXm
hPDOTo6olJQf80Je6HZ7SM2exzdy70jhGfPrO2TZGxhaiWHC7Bxr3kFvDMVlTr6e
SIuDyAbpTPCqIapjZWuC7Vk38aH+Ttr7MwNUX4XiLUP21L9hhu2suT4vEvv6qZtA
Rl59Ljo57yCWdiLugiq8Bwp6KaI5HJiRrQYbzLN9oWoS9gOZmiUGhA2fPAt36O2d
LRvB0+OUnaBo82jGTHg0Z4tQpVlOuLrW41cHhwDAMW4/xZbt8iLKylciz9g5vdGD
RtN9C/WgrN1mvZjQentr3eBDAy3tDZrWBlh6ji27JepCp/wbVKP5+QQXf/0OTf99
+0F/+9ccmTnw1RI5dUwbA0de0zlQlEOI19GTsg/QiB3mRGnNzVsCca/mTmlPGnVb
3YpUuYEwYwsnOZey0uGKZPOE973oaXxoYRNAN8FcSsK1pvZvNjz3ByzJtP40gviy
qe/wjo7saOCoeCxz3InYwGbd4R1V34luU//N3SiYrMsz+jr1fzQ=
=l2kF
-----END PGP SIGNATURE-----

--Signature=_Wed__22_Feb_2017_11_38_14_+0100_4PnpFUx8B9iy/Rgb--

6 réponses

1 2
Avatar
Sébastien Dinot
Jean-Marc a écrit :
Et donc, dans mon cas :
--renew-hook /bin/systemctl reload nginx.service

Cette option est fort pratique mais elle n'a été introduite que
tardivement et n'est donc pas forcément disponible sur tous les systèmes
Debian, c'est pour cela que je ne l'ai pas mentionnée et qu'elle
n'apparait pas dans les scripts cron que j'utilise.
Mais ta remarque me fait réaliser qu'il serait peut-être temps que je
fasse le tour des serveurs que j'administre et que je regarde si elle
n'est pas devenue disponible partout.
Sébastien
--
Sébastien Dinot,
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !
Avatar
Jean-Marc
--Signature=_Thu__23_Feb_2017_07_49_27_+0100_FI454HTGlUmWIjx2
Content-Type: text/plain; charset=UTF-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Wed, 22 Feb 2017 21:11:45 +0100
Jean-Marc écrivait :
Merci pour la piste, Sébastien.
Je préfère l'option --renew-hook qui démarre une commande en cas de renouvellement réussi d'un certificat.
Et donc, dans mon cas :

Et comme je préfère une solution qui fonctionne, je re-poste parc e que j'ai oublié les guillemets dans l'original.
--renew-hook "/bin/systemctl reload nginx.service"
fait très bien l'affaire.

devrait être plus correct.
Jean-Marc
--Signature=_Thu__23_Feb_2017_07_49_27_+0100_FI454HTGlUmWIjx2
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEEWjgcRC0dCXkfm9hQHHLXC3pxPwFAliuhfcACgkQQHHLXC3p
xPwZeA/+PmEQMT6Se14tzipggkhAgNl/1TTRsP1omz9xwMGJGRYpQ3aUPJZxs+gL
qxhv7sDh1I2Txm+dm9QM6nYVtSNHv/xkVYTiRGOL2/nLcGxq3/HOI96ToQe9tPjp
Lj+VbaoHwlYWqiXkj9NkZsBJTz7wJmWX+nbNYMBPc7cD0prF/kTfRQt/ngXe3rWk
CZ8A83XD9uTC/6+PyOcg1McRaDIgflRj8svekMC+n8UFJ7j87IXdC+ibgwchKtES
EPMcaNGIlfzRxylJV7kraWiKkmLc24GfFoeRnn218+ssEBw7YADjUyR3DtFmVlnZ
t1DZFm9gLfYpf9O5VeC+9uIfKgxTEj2P6pvmSJ9vLYDMtIDPaSr/ZGlNbnsShlin
3KE3m8bELa40agw66VqwjscR9UeLtADDVivxkgiLvubZdBXqowD4KcjndJj4zk0m
s/CA/hDbFnpp6TpydocT0MZMkJZiZaUqdLgjs6v7HHLyXJ7tKsnmz5FD1iHmDjZE
UfCpzKBxH2DsevyPev0LxxeMTWdMLqAZt4oAzV7giVImqkGE0vctL91xO/mPcnu6
WUW3AsTEZQn+sWPKHHoPZtIstZmy80BbFHL5LizlQJOK1jJ+9JdlDy+wunuffThW
9D/cy19ETBHPZb/L6iX4ddFGUzBoT+VoEFdTHVloGH72+oyoYgo =fVUh
-----END PGP SIGNATURE-----
--Signature=_Thu__23_Feb_2017_07_49_27_+0100_FI454HTGlUmWIjx2--
Avatar
andre_debian
On Thursday 23 February 2017 07:49:27 Jean-Marc wrote:
--renew-hook "/bin/systemctl reload nginx.service"

Et pour un serveur Web Apache, ce serait ? :
--renew-hook "/bin/systemctl reload apache2.service"
Merci,
André
Avatar
Erwan David
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--GjfHUrXMSXJxjkWoJu8Bjhe1L0P85FhXu
Content-Type: multipart/mixed; boundary="L6fIXplhKPEnCsUuAwddRR4pbAM7qAI7l";
protected-headers="v1"
From: Erwan David
To:
Message-ID:
Subject: =?UTF-8?Q?Re:_[Résolu]_Debian,_nginx_et_Let's_Encrypt? References:


In-Reply-To:
--L6fIXplhKPEnCsUuAwddRR4pbAM7qAI7l
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Le 02/23/2017 à 07:49, Jean-Marc a écrit :
Wed, 22 Feb 2017 21:11:45 +0100
Jean-Marc écrivait :
Merci pour la piste, Sébastien.
Je préfère l'option --renew-hook qui démarre une comman de en cas de renouvellement réussi d'un certificat.
Et donc, dans mon cas :

Et comme je préfère une solution qui fonctionne, je re-poste parce que j'ai oublié les guillemets dans l'original.
--renew-hook "/bin/systemctl reload nginx.service"

Ou nginx -s reload largement suffisant.
--L6fIXplhKPEnCsUuAwddRR4pbAM7qAI7l--
--GjfHUrXMSXJxjkWoJu8Bjhe1L0P85FhXu
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQJ8BAEBCgBmBQJYrqz/XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRDQUIxMjIwRTA0RERGNkU5Q0YwQ0Q1QzlC
ODBFQUMxNUU0MEZGRDBGAAoJELgOrBXkD/0PPdQQAI55/Z4YqPWdLGSj+0VRSdNj
uyES17nOA5Ey7R2TLbbxpCtrmek+bzFYB2TBdJXI4C1ypTEXkX8vDoXUlDFmuUmt
A4z/onS1XufuqAt3KAzIOsG+TS8mGlj0pe1bLiaZUVFhiv86cKgaG1IwtueCzguP
i3KxN3Mr0WVCjQlY2FWs1RrMTL+aqo2Fy32zUDj/sthOsXU4rb8A2/R8dM65MOZq
7fTBu8GgFfVpE2er5t7eN4cVovXyHNjt5OhFZ9HSHFg5jSxjp9P6gfE4IUoJrBnV
IRwC7u3ggM5LQOOSNLdT6Azg4ASt6IJMbso+UB+2k7UiPSFH0xQ2F5LFO6QqYQKx
wq7iigUwjZuD97LJ4osy4Ggo4qx/7VWvw2cawxZttCcAG9wY2iHoW6AwwcalHhBX
O8AopqT1/UG64ERb3K50fVcZXFdcVM+58wKFSpaYkiW6FSSIhd1OmKDRP93HGeYZ
jJuQUEM0qNHQ1d3lFIWOpsna2TM7n7jhO1O/79yJXZZ4FzXOtqs5XfKFMdaJDbk9
sGLfuCPheAFaUgZriw9lx1Xi8249kpGYiuilalsdLLdnQ1FFdO4lUMjawig8AbvX
L5fkoR3nX7Zi2pA1brL9C3HHqRfwSWofPFjhUvO/ayioMDPohqDFtJe1U0xTS21m
G3ZmcCoWnKZdPXM3fJdl
=Pxtz
-----END PGP SIGNATURE-----
--GjfHUrXMSXJxjkWoJu8Bjhe1L0P85FhXu--
Avatar
Jean-Marc
--Signature=_Thu__23_Feb_2017_12_24_32_+0100_0cs4Ui8k9Q2hD5/h
Content-Type: text/plain; charset=UTF-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Thu, 23 Feb 2017 10:29:40 +0100
écrivait :
Et pour un serveur Web Apache, ce serait ? :
--renew-hook "/bin/systemctl reload apache2.service"

Tout dépend si Apache détecte tout seul les changements ou pas.
Certains programmes détectent que leurs fichiers de config' ont chang é et font des reloads automatiquement.
nginx ne le fait pas.
À toi de voir si, après un renew de tes certificats, Apache les p rend en compte.
Deuxième aspect, la gestion d'Apache et les scripts d'init.
Si tu utilises systemd, un reload du service semble OK.
Pour autant qu'Apache supporte la commande reload.
Sinon, il existe aussi la commande reload-or-restart.
Merci,
André

Jean-Marc
--Signature=_Thu__23_Feb_2017_12_24_32_+0100_0cs4Ui8k9Q2hD5/h
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEEWjgcRC0dCXkfm9hQHHLXC3pxPwFAliuxnAACgkQQHHLXC3p
xPyhow/9H+SCz7iuwzR1iXQC/TPGmcyEQ0SNZitJFRsubpoL8GTwFeXtVHlRAkIr
SYPetgAe1WTJmuJhFbpb9JepBUeBJu0MMhzKq1XXZWArfTlavVsyfBUT9s+q7HLa
WnWNHdpgU4aRtN6p5XaPeHpcnqEWT9DsLsvpsk9wLunegIdA4CX/DQp3cfh9t42f
XvTAQe38wyWKERYka7r8/pzAz2xZLmvrn1DyFM3j5L5LaBmR+i/j6lQnsajw1j3y
cbjxA62ariYlxtyTw3KaSNxEdXbpkyfisNUnsvOxw/q2k7d/R6T6Cb4LU5VZVn61
pmNErs80oYdZjfoPrhbnIB+YD0XHd0i/ks0U3cp6DWsRYC1aBnzMa4vr6SHdaMeF
g9alXTzVDPNh8SzXUiOkQZmbLqNQUZR+gOENQgsX0YlilDT2/1iUQ3JyxGuSmdJu
uPIrRZDsaZzzjfCw4z2wijYAA9v/IXHNXYcKOLOtklBQkZcv6tYU/7oFXWth89mi
U0mthrmdDRzSbEgZxLXONL4hCLdOTwYLQ+QN36NxCZQW52fVoGthlg3esGUXA/I2
lWEp2o9TRVFunxWUmIrpBf7vpCZeCXqP5OUhcARwGStrvmbg2PQ3KAi8/+zXwoFZ
ubKfVIYBWH+JL6UyZ6PbPPkMCSupnQKGcQM6mFeCYvPTifBYdo0 =gdKX
-----END PGP SIGNATURE-----
--Signature=_Thu__23_Feb_2017_12_24_32_+0100_0cs4Ui8k9Q2hD5/h--
Avatar
Daniel Caillibaud
Le 23/02/17 à 12:24, Jean-Marc a écrit :
JM> Thu, 23 Feb 2017 10:29:40 +0100
JM> écrivait :
JM>
JM> > Et pour un serveur Web Apache, ce serait ? :
JM> >
JM> > --renew-hook "/bin/systemctl reload apache2.service"
JM>
JM> Tout dépend si Apache détecte tout seul les changements ou pa s.
JM> Certains programmes détectent que leurs fichiers de config' ont ch angé et font des reloads
JM> automatiquement.
JM>
JM> nginx ne le fait pas.
Encore heureux !
Ça permet de tester la config (nginx -t) avant de lancer le reload. Si y'a un pb de config ça
te laisse le temps de le corriger et nginx continue de tourner avec l'ancie nne config.
--
Daniel
Tout le monde est capable de créer
un système incapable de fonctionner.
Courteline
1 2