91 lines
2.8 KiB
HTML
91 lines
2.8 KiB
HTML
# Generated by nginxconfig.io<!--
|
||
|
||
✔ isDirty --><span ng-if="isDirty">
|
||
# {{ getUrl() }}</span>
|
||
|
||
user {{ data.user }};
|
||
pid {{ data.pid}};
|
||
worker_processes {{ data.worker_processes }};
|
||
worker_rlimit_nofile 65535;
|
||
|
||
events {
|
||
multi_accept on;
|
||
worker_connections 65535;
|
||
}
|
||
|
||
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;
|
||
}
|
||
</span>
|
||
charset utf-8;
|
||
sendfile on;
|
||
tcp_nopush on;
|
||
tcp_nodelay on;<!--
|
||
|
||
✘ serverTokens --><span ng-if="!isServerTokens()">
|
||
server_tokens off;</span><!--
|
||
|
||
✘ logNotFound --><span ng-if="!isLogNotFound()">
|
||
log_not_found off;</span>
|
||
types_hash_max_size 2048;
|
||
client_max_body_size {{ data.client_max_body_size }}M;
|
||
|
||
# MIME
|
||
include mime.types;
|
||
default_type application/octet-stream;
|
||
|
||
# logging
|
||
access_log {{ isAccessLog() ? data.access_log : 'off' }};
|
||
error_log {{ isErrorLog() ? data.error_log : '/dev/null' }};<!--
|
||
|
||
✔ limitReq --><span ng-if="data.limit_req">
|
||
|
||
# limits
|
||
limit_req_log_level warn;
|
||
limit_req_zone $binary_remote_addr zone=login:10m rate=10r/m;</span><!--
|
||
|
||
✔ HTTPS --><span ng-if="hasHTTPS()">
|
||
|
||
# SSL
|
||
ssl_session_timeout 1d;
|
||
ssl_session_cache shared:SSL:10m;
|
||
ssl_session_tickets off;<!--
|
||
|
||
✔ SSL DH required --><span ng-if="isSSLDHRequired()">
|
||
|
||
# Diffie-Hellman parameter for DHE ciphersuites
|
||
ssl_dhparam {{ data.directory_nginx }}dhparam.pem;</span>
|
||
|
||
# {{ sslProfiles[ data.ssl_profile ].name }} configuration
|
||
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><!--
|
||
|
||
✔ SSL server preferred order --><span ng-if="sslProfiles[ data.ssl_profile ].server_preferred_order">
|
||
ssl_prefer_server_ciphers on;</span>
|
||
|
||
# OCSP Stapling
|
||
ssl_stapling on;
|
||
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>
|
||
|
||
# load configs
|
||
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">
|
||
|
||
# {{ isWWW(_site) ? 'www.' : '' }}{{ _domain }}
|
||
<ng-include ng-include-tabs="1" src="'templates/conf/sites-available/example.com.conf.html?v=COMMIT_HASH'" sonload="refreshHighlighting()"></ng-include></span>
|
||
}
|