2018-11-15 15:02:25 +00:00
|
|
|
|
# Generated by nginxconfig.io<!--
|
|
|
|
|
|
|
|
|
|
✔ isDirty --><span ng-if="isDirty">
|
2018-11-19 08:03:13 +00:00
|
|
|
|
# {{ getUrl() }}</span>
|
2018-11-15 14:27:38 +00:00
|
|
|
|
|
2018-01-07 15:30:12 +00:00
|
|
|
|
user {{ data.user }};
|
|
|
|
|
pid {{ data.pid}};
|
|
|
|
|
worker_processes {{ data.worker_processes }};
|
2018-06-11 18:29:09 +00:00
|
|
|
|
worker_rlimit_nofile 65535;
|
2018-01-07 15:30:12 +00:00
|
|
|
|
|
|
|
|
|
events {
|
|
|
|
|
multi_accept on;
|
2018-06-11 18:29:09 +00:00
|
|
|
|
worker_connections 65535;
|
2018-01-07 15:30:12 +00:00
|
|
|
|
}
|
|
|
|
|
|
2018-11-02 13:24:32 +00:00
|
|
|
|
http {<!--
|
|
|
|
|
|
|
|
|
|
✔ PHP backup --><span ng-if="isPHPBackup()">
|
|
|
|
|
upstream php {
|
|
|
|
|
server {{ data.php_server[0] === '/' ? 'unix:' : '' }}{{ data.php_server }};
|
|
|
|
|
server {{ data.php_server_backup[0] === '/' ? 'unix:' : '' }}{{ data.php_server_backup }} backup;
|
2018-12-02 20:36:18 +00:00
|
|
|
|
}
|
2018-11-02 13:24:32 +00:00
|
|
|
|
</span>
|
2018-01-07 15:30:12 +00:00
|
|
|
|
charset utf-8;
|
|
|
|
|
sendfile on;
|
|
|
|
|
tcp_nopush on;
|
2018-02-18 13:02:11 +00:00
|
|
|
|
tcp_nodelay on;<!--
|
|
|
|
|
|
|
|
|
|
✘ serverTokens --><span ng-if="!isServerTokens()">
|
|
|
|
|
server_tokens off;</span><!--
|
2018-01-07 15:30:12 +00:00
|
|
|
|
|
2018-02-18 13:02:11 +00:00
|
|
|
|
✘ logNotFound --><span ng-if="!isLogNotFound()">
|
|
|
|
|
log_not_found off;</span>
|
|
|
|
|
types_hash_max_size 2048;
|
2018-01-23 05:41:31 +00:00
|
|
|
|
client_max_body_size {{ data.client_max_body_size }}M;
|
2018-01-07 15:30:12 +00:00
|
|
|
|
|
2018-03-28 06:50:41 +00:00
|
|
|
|
# MIME
|
2018-01-07 15:30:12 +00:00
|
|
|
|
include mime.types;
|
|
|
|
|
default_type application/octet-stream;
|
|
|
|
|
|
2018-02-18 13:02:11 +00:00
|
|
|
|
# logging
|
|
|
|
|
access_log {{ isAccessLog() ? data.access_log : 'off' }};
|
2018-09-03 20:53:56 +00:00
|
|
|
|
error_log {{ isErrorLog() ? data.error_log : '/dev/null' }};<!--
|
2018-03-28 06:50:41 +00:00
|
|
|
|
|
|
|
|
|
✔ limitReq --><span ng-if="data.limit_req">
|
2018-01-07 15:30:12 +00:00
|
|
|
|
|
|
|
|
|
# limits
|
|
|
|
|
limit_req_log_level warn;
|
2018-03-28 06:50:41 +00:00
|
|
|
|
limit_req_zone $binary_remote_addr zone=login:10m rate=10r/m;</span><!--
|
|
|
|
|
|
2019-01-06 14:48:28 +00:00
|
|
|
|
✔ HTTPS --><span ng-if="hasHTTPS()">
|
2018-03-28 06:50:41 +00:00
|
|
|
|
|
|
|
|
|
# SSL
|
|
|
|
|
ssl_session_timeout 1d;
|
2019-06-17 12:20:54 +00:00
|
|
|
|
ssl_session_cache shared:SSL:10m;
|
2018-03-28 06:50:41 +00:00
|
|
|
|
ssl_session_tickets off;<!--
|
|
|
|
|
|
2019-04-14 19:50:15 +00:00
|
|
|
|
✔ SSL DH required --><span ng-if="isSSLDHRequired()">
|
2018-03-28 06:50:41 +00:00
|
|
|
|
|
|
|
|
|
# Diffie-Hellman parameter for DHE ciphersuites
|
2019-06-05 15:03:33 +00:00
|
|
|
|
ssl_dhparam {{ data.directory_nginx }}dhparam.pem;</span>
|
2018-03-28 06:50:41 +00:00
|
|
|
|
|
2019-04-14 19:50:15 +00:00
|
|
|
|
# {{ sslProfiles[ data.ssl_profile ].name }} configuration
|
2019-07-07 19:51:20 +00:00
|
|
|
|
ssl_protocols {{ sslProfiles[ data.ssl_profile ].protocols.join(' ') }};<!--
|
|
|
|
|
|
|
|
|
|
✔ SSL ciphers length --><span ng-if="sslProfiles[ data.ssl_profile ].ciphers.length">
|
|
|
|
|
ssl_ciphers {{ sslProfiles[ data.ssl_profile ].ciphers.join(':') }};</span><!--
|
2019-06-17 12:20:54 +00:00
|
|
|
|
|
|
|
|
|
✔ SSL server preferred order --><span ng-if="sslProfiles[ data.ssl_profile ].server_preferred_order">
|
|
|
|
|
ssl_prefer_server_ciphers on;</span>
|
2018-03-28 06:50:41 +00:00
|
|
|
|
|
|
|
|
|
# OCSP Stapling
|
|
|
|
|
ssl_stapling on;
|
2018-10-26 17:11:53 +00:00
|
|
|
|
ssl_stapling_verify on;<!--
|
|
|
|
|
|
|
|
|
|
✔ Resolver: CloudFlare || Google || OpenDNS --><span ng-if="isResolverCloudflare() || isResolverGoogle() || isResolverOpenDNS()">
|
|
|
|
|
resolver {{
|
|
|
|
|
(isResolverCloudflare() ? '1.1.1.1 1.0.0.1 ' : '') +
|
|
|
|
|
(isResolverGoogle() ? '8.8.8.8 8.8.4.4 ' : '') +
|
|
|
|
|
(isResolverOpenDNS() ? '208.67.222.222 208.67.220.220 ' : '')
|
|
|
|
|
}}valid=60s;
|
|
|
|
|
resolver_timeout 2s;</span></span>
|
2018-01-07 15:30:12 +00:00
|
|
|
|
|
2018-02-18 13:02:11 +00:00
|
|
|
|
# load configs
|
2019-06-05 15:03:33 +00:00
|
|
|
|
include {{ data.directory_nginx }}conf.d/*.conf;<span ng-if="isModularized()">
|
|
|
|
|
include {{ data.directory_nginx }}sites-enabled/*;</span><span ng-if="isUnified()" ng-repeat="(_site, _domain) in getDomains() track by $index">
|
2018-01-07 15:30:12 +00:00
|
|
|
|
|
2019-01-27 11:44:07 +00:00
|
|
|
|
# {{ isWWW(_site) ? 'www.' : '' }}{{ _domain }}
|
2018-08-19 21:17:07 +00:00
|
|
|
|
<ng-include ng-include-tabs="1" src="'templates/conf/sites-available/example.com.conf.html?v=COMMIT_HASH'" sonload="refreshHighlighting()"></ng-include></span>
|
2018-01-08 01:49:44 +00:00
|
|
|
|
}
|