##### Process http start #######################################################
server {
    listen 80;
    server_name DOMAIN;
    return 301 https://DOMAIN$request_uri;
    server_tokens off;
}
##### Process http stop ########################################################

##### Process https start ######################################################
server {
    listen 443 ssl http2;
    server_name DOMAIN;
    server_tokens off;
    root /var/www/html/DOMAIN;
    index index.php index.html;

    ##### SSL configuration start ##############################################
    # ssl_protocols TLSv1.2 TLSv1.3;
    # ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
    # ssl_prefer_server_ciphers off;
    # ssl_stapling on;
    # ssl_stapling_verify on;
    # resolver 8.8.4.4 8.8.8.8;
    # resolver_timeout 5s;
    # ssl_session_timeout 1d;
    # ssl_session_tickets off;
    # ssl_session_cache shared:SSL:10m;
    # ssl_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/DOMAIN/privkey.pem;
    # ssl_trusted_certificate /etc/letsencrypt/live/DOMAIN/fullchain.pem;
    ##### SSL configuration stop ###############################################

    ##### XSS headers start ####################################################
    # add_header X-Frame-Options DENY; 
    # add_header X-Frame-Options SAMEORIGIN;
    # add_header X-Content-Type-Options nosniff; 
    # add_header X-XSS-Protection "1; mode=block";
    # add_header Permissions-Policy interest-cohort=();
    # add_header Content-Security-Policy "default-src 'self'"; 
    # add_header Referrer-Policy strict-origin-when-cross-origin;
    # add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    ##### XSS headers stop #####################################################
    
    ##### Optional include custom Error pages start ############################
    include /etc/nginx/nginxsnippets/custom-errors.conf;
    ##### Optional include custom Error pages stop #############################
    
    ##### Optional disable gzip start ##########################################
    # gzip off;
    ##### Optional disable gzip stop ###########################################

    ##### Optional disable access log start ####################################
    # access_log off;
    ##### Optional disable access log stop #####################################

    ##### Block Bad referers and bad bots start ################################
    if ($bad_referer) { return 444; }
    if ($bad_user_agent) { return 444; }
    ##### Block Bad referers and bad bots stop #################################
   
    ##### Optional stuff start ################################################# 
    # include /etc/nginx/nginxsnippets/block-engines.conf;
    include /etc/nginx/nginxsnippets/log-exclude.conf;
    include /etc/nginx/nginxsnippets/block-htaccess.conf;
    include /etc/nginx/nginxsnippets/block-file-access.conf;
    ##### Optional stuff stop ##################################################

    ##### Enable fastcgi cache start ###########################################
    set $skip_cache 0;
    ##### Enable fastcgi cache stop ############################################

    ##### Process content start ################################################
    location / {
    try_files $uri $uri/ /index.php$is_args$args;
    }
    ##### Process content stop #################################################
    
    ##### Wordpress Hardeing start #############################################
    include /etc/nginx/nginxsnippets/wphardening.conf;
    ##### Wordpress Hardeing stop ##############################################
   
    ##### Process php start ####################################################
    location ~ \.php$ {
    # include /etc/nginx/nginxsnippets/proxyheader.conf;
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/phpVERSION-fpm.sock;
    include /etc/nginx/nginxsnippets/microcache.conf;
    }
    ##### Process php stop #####################################################

    ##### Cache js css static content and open files start #####################
    include /etc/nginx/nginxsnippets/cache-open-files.conf;
    include /etc/nginx/nginxsnippets/cache-statics.conf;
    include /etc/nginx/nginxsnippets/cache-js-css.conf;
    ##### Cache js css static content and open files stop ######################    
}
##### Process https stop #######################################################