Nginx configuration, with global defaults and support for a PHP site 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?
I compared the two server configurations and the only thing that appears to match between the two is the location ~ \.php$ directive, as well as the index directive, though in the latter configuration that is under the directive location /

Perhaps the common configurations could be put into the file included via include (i.e. fastcgi-php.conf).