The following code is an Nginx default conf file. The conf file itself includes another server block which holds a site's configuration.
While this combination works and the sites appears fine on web, I have a feeling that my code doesn't follow the DRY standard.
server {
    server_name _;
    return 301 https://$host$request_uri;
    root /var/www/html;
    index index.php index.html index.htm;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ /\.ht {
        deny all;
    }
    # notes {
        # 443 ssl http2;
        # [::]:443 ssl http2;
    # }
}
server {
    listen 80;
    listen [::]:80;
    server_name contfix.co.il www.contfix.co.il;
    ssl_certificate /etc/nginx/conf.d/ssl/contfix.co.il.crt;
    ssl_certificate_key /etc/nginx/conf.d/ssl/contfix.co.il.key;
    ssl_dhparam /etc/nginx/conf.d/ssl/dhparam.pem;
    root /var/www/html/contfix.co.il;
    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|ttf|woff)$ {
        expires 365d;
    }
    location ~*  \.(pdf)$ {
        expires 30d;
    }
}
Given that my code seems to be a bit repetitive, I want to ask: Can it be made a bit less repetitive?
