diff --git a/certbot/conf/live/crm.logidex.ru/dhparam.pem b/certbot/conf/live/crm.logidex.ru/dhparam.pem new file mode 100644 index 0000000..ec1c9ac --- /dev/null +++ b/certbot/conf/live/crm.logidex.ru/dhparam.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBDAKCAQEAv+baak1aR8Bh/ucy3ANvcUVDrvvXtGyYKzCU+2yljE8+/ZWBQBex +66SqN3JDiI3CkjRmFlgIXft+E2flQjdDy7LTa1E86krfZMGkt6bNVT7Dx/zMNBr1 +qsdoIvnL+JELsRMMOporRc25Tw6g7aFFirNqgBApCJASw24YA7uJYPtxL9tEmWzz +nO0E9/3JNPXipAHG64aBm+jJWe49y3TSplwlACqGtv+aqoZBwrkstthEdQHJH49I +Zzwh3pAcQldh6+OCPfOxP9wAirLVoDQ1QRHcuhsh14jlMC2IclcbT4Sk428UD10n +o58CUTipyDRyZacsL3J8rkHwjVGCnuj2dwIBAgICAOE= +-----END DH PARAMETERS----- diff --git a/config/nginx/nginx.conf b/config/nginx/nginx.conf index 0fd46cd..3d2209d 100644 --- a/config/nginx/nginx.conf +++ b/config/nginx/nginx.conf @@ -15,7 +15,7 @@ upstream frontend server { - listen 80; + listen 443 ssl; # managed by Certbot server_tokens off; server_name crm.logidex.ru www.crm.logidex.ru; @@ -24,6 +24,40 @@ server gzip_comp_level 4; gzip_types text/css application/javascript image/svg+xml application/json text/plain text/xml; + + ssl_certificate /var/www/certbot/live/crm.logidex.ru/fullchain.pem; # managed by Certbot + ssl_certificate_key /var/www/certbot/live/crm.logidex.ru/privkey.pem; # managed by Certbot + + add_header Strict-Transport-Security "max-age=63072000" always; + + + # intermediate configuration + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ecdh_curve X25519:prime256v1:secp384r1; + ssl_session_cache shared:le_nginx_SSL:10m; + ssl_session_timeout 1440m; + ssl_session_tickets off; + ssl_prefer_server_ciphers off; + ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; + + ssl_dhparam /var/www/certbot/live/crm.logidex.ru/dhparam.pem; # managed by Certbot + + + # OCSP stapling + ssl_stapling on; + ssl_stapling_verify on; + + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /var/www/certbot/live/crm.logidex.ru/chain.pem; + + # replace with the IP address of your resolver; + # async 'resolver' is important for proper operation of OCSP stapling + resolver 8.8.8.8 8.8.4.4 valid=300s; + resolver_timeout 5s; + + + + # Общие proxy_set_header, унаследованные всеми location proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -71,4 +105,16 @@ server location /.well-known/acme-challenge/ { root /var/www/certbot; } -} \ No newline at end of file +} + + +server { + if ($host = crm.logidex.ru) { + return 301 https://$host$request_uri; + } + server_name git.logidex.ru; + listen 80; + return 404; # managed by Certbot + + +} diff --git a/docker-compose.yml b/docker-compose.yml index bb80155..898d3e3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,7 +34,7 @@ services: target: /app/run read_only: false - type: bind - source: ./certbot/www + source: ./certbot/conf target: /var/www/certbot read_only: true restart: unless-stopped