J'ai mis en place Nginx avec Statsecrypt pour travailler avec HTTPS. Mon /etc/nginx/conf.d/app.conf
est ce qui suit (aucune autre directive server
est configurée):
server {
location /.well-known/acme-challenge/ {
autoindex on;
root /var/www/certbot/;
}
location / {
return 301 https://$Host$request_uri;
}
server_name example.com;
listen 80;
}
server {
listen 443;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
server_name example.com;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location /static/ {
gzip on;
gzip_static on;
gzip_types text/plain text/css text/javascript application/javascript;
gzip_disable "msie6";
alias /static/;
autoindex off;
}
# many other locations
}
Quand j'essaie d'ouvrir https://example.com
, Nginx retourne 400, ce sont les journaux:
mysite_nginx | 1.1.1.1 - - [04/Apr/2019:16:43:52 +0000] "\x16\x03\x01\x00\xC6\x01\x00\x00\xC2\x03\x03\x97\x08D\x08\x87\x5Cg\xDB\x85\x8Ch\x16\xC9\x1E\x01\xDB\x9F\x12\x04\x91e\xB3P]4]\xFE\xEF\xE5^\xB7\x07\x00\x00\x1C" 400 157 "-" "-" "-"
mysite_nginx | 1.1.1.1 - - [04/Apr/2019:16:43:52 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03s\xC0\xBDWM\xC4n\x12\xD6\x1BQ\xCF\x0C\xDD\x93\xE6\x8D\x1B5YV\xBB\x9D\xB9\x8A,\x02\xC1nS\xE1\x15 y." 400 157 "-" "-" "-"
mysite_nginx | 1.1.1.1 - - [04/Apr/2019:16:43:52 +0000] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03wa\x13\x96D\xCB)f\x9B\xED\x1B\xA9\xFD\xA8\xCAU\x1A\xDA\xA0" 400 157 "-" "-" "-"
mysite_nginx | 1.1.1.1 - - [04/Apr/2019:16:43:52 +0000] "\x16\x03\x01\x00\xC6\x01\x00\x00\xC2\x03\x03\x96]\xEC\x1F\x077\xCF\xE5N]k\x86\xCF\xEF\x13\xF0\xFC\xCBL\xFD\x06\xF5\x10|\xD8\x9C\xC0\xE7-\xD4(\xBF\x00\x00\x1C\xBA\xBA\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00/\x005\x00" 400 157 "-" "-" "-"
J'ai fait des recherches et j'ai constaté que cela pourrait se produire si la demande HTTPS est faite au point de terminaison HTTP, mais je ne peux pas comprendre ce qui ne va pas avec ma configuration. Comment le réparer?
[~ # ~] upd [~ # ~ ~] nginx fonctionne à l'intérieur du conteneur Docker, docker-compose.yml
est de la version 2.4
, nginx
service de service:
nginx:
image: nginx:1.15.9-Alpine
volumes:
- ./configs/nginx:/etc/nginx/conf.d
- ./configs/nginx.proxy_params:/etc/nginx/proxy_params
- ./volumes/certbot/conf:/etc/letsencrypt
- ./volumes/certbot/www:/var/www/certbot
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
ports:
- "80:80"
- "443:443"
restart: on-failure
options-ssl-nginx.conf
et ssl-dhparams.pem
sont extraits de l'officiel certbot
repo.
J'ai vérifié que les fichiers fullchain.pem
et privacy.pem
existe dans /etc/letsencrypt/live/example.com.
Vous devez activer SSL sur le port 443. Voir Ce document pour plus de détails.
Par exemple:
listen 443 ssl;