---
- hosts: elaine.asininetech.net

  roles:
  - role: jdauphant.nginx
    nginx_user: "www-data"
    nginx_events_params:
      - worker_connections 1024
    nginx_http_params:
      - sendfile "on"
      - server_names_hash_bucket_size 512
    nginx_sites:
      nitter.ca.http:
        - listen *:80
        - listen [::]:80
        - server_name nitter.ca
        - return 301 "https://$host$request_uri"
      nitter.ca.https:
        - listen *:443 ssl http2
        - listen [::]:443 ssl http2
        - server_name nitter.ca
        - access_log off
        - error_log "/var/log/nginx/nitter.ca.error.log"
        - ssl_certificate "/etc/ssl/letsencrypt/nitter.ca.crt"
        - ssl_certificate_key "/etc/ssl/letsencrypt/nitter.ca.pem"
        - ssl_stapling on
        - resolver [::1] valid=300s
        - add_header Strict-Transport-Security max-age=31536000
        - location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            tcp_nodelay on;
          }
        - include snippets/norobots.conf
    nginx_configs:
      gzip:
        - gzip on
        - gzip_disable msie6
        - gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript
      ssl:
        - ssl_protocols TLSv1.2 TLSv1.3
        - ssl_prefer_server_ciphers on
        - ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'
        - ssl_session_timeout 1d
        - ssl_session_cache shared:SSL:50m
        - ssl_session_tickets off