diff --git a/data/nginx/app.conf b/data/nginx/app.conf index a01c4cd..80c0020 100644 --- a/data/nginx/app.conf +++ b/data/nginx/app.conf @@ -1,14 +1,33 @@ +limit_req_zone $request_uri zone=by_uri:10m rate=300r/m; + server { - listen 80; + listen 80; + server_name domain.ru; + server_tokens off; - gzip on; - gzip_disable "msie6"; - gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; - server_name localhost; - server_tokens off; + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } - location / { + location / { + return 301 https://$host$request_uri; + } +} + + +server { + listen 443 ssl http2; + server_name domain.ru; + server_tokens off; + + ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; + include /etc/letsencrypt/options-ssl-nginx.conf; + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; + + location / { + limit_req zone=by_uri burst=20 nodelay; proxy_pass http://nodejs:3000; proxy_http_version 1.1; @@ -16,5 +35,9 @@ server { proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; - } -} \ No newline at end of file + } + + if ($host !~* ^(domain.ru)$ ) { + return 444; + } +}