- Added a Forge Template
NginxFastCGICacheTemplate.conf
- Opt out of Google Federated Learning of Cohorts ("FLoC") via the
Permissions-Policy
header. ref:
- Updated the Forge template to use more Forge-provided variables
- Changed the include path from
/etc/nginx
to/home/forge
for the Forge config - Removed repeated
server_tokens
within Primary block - Changes max-age for HSTS to be one year for preloading
- Changed
public
toweb
for the serverroot
example
- Added support for Forge Templates via
forge-templates/NginxTemplate.conf
- Fix multi-site requests missing query params
- Set
server_tokens
tooff
- Changed the
dhparam
setting to/etc/nginx/dhparams.pem
to mirror the Forge default
- Explicitly set
DOCUMENT_ROOT
- Changed
$document_root
to$realpath_root
to sidestep opcache issues automatically Learn More
- Route any 404s for
expires.conf
matches back through Craft for handling
- Added
always
to all of the added headers insecurity.conf
so that they are added regardless of response code
- Added better
Cache-Control
header settings inexpires.conf
for static resources, leveragingimmutable
,must-revalidate
, andmax-age
- Added
svg
to cache-busted extensions incache-busting.conf
- Enable serving of static gzip files via gzip_static
- Removed superfluous whitespace in map block
- Load
security.conf
from nginx-partials again inside of thelocation ~ [^/]\.php(/|$)
block - Added
xmlrpc
to the WordPress redirects
- Removed the
location
block inexpires.conf
that matched.rss
and.atom
since these almost always should go through Craft
- Include an example of serving up a placeholder image when a 404 happens for static image assets
- Includes Dotenvy generated
.env
files
- Don't allow browser caching of dynamically generated content
- Added "Remove if you don't plan to use server-set ENV variables" comment
- Removed duplicate
client_max_body_size
directives
- Removed incorrect
=404
directives
- Explicitly set fastcgi_param
HTTP_HOST
to mitigate HTTP_HOST Security Issues - Added
=404
as the last parameter in each of thetry_files
directives to avoid internal loops - Added
ssi on;
to the default config for server-side includes
- Disable limits on the maximum allowed size of the client request body via
client_max_body_size
- Add expires headers for
mp3
files - Updated bot UserAgents list
- Added configuration for banning bots based on UserAgent
- Added a
basic_localdev.com.conf
for people who just want a basic Nginx configuration for Craft local dev
- Updated the config to use php7.1 by default
- Added comments for the CME config
- Added OCSP stapling
- Tweaked TLS settings for performance
- Optimized
ssl_buffer_size
for TTFB - Updated README.md with instructions for downloading your Issuer certificate
- Fixed an issue where the removal of trailing slashes could cause directory URLs to fail with "too many redirects"
- Added
Referrer-Policy "no-referrer-when-downgrade";
tosecurity.conf
- Added handling of missing
.php
files routed through Craft - Added
404
handler - Added
.gitignore
- Removed
html
and other non-cacheable files from matching inexpires.conf
- Added
webp
to theexpires
header support
- Remove
etags
from static resources - Updated the CHANGELOG.md format
- Added (commented out) support for error logging going to
SYSLOG
for log services - Redirect bots probing the site for WordPress vulnerabilities
- Added information on
opcache
- Added a redirect for Do Not Track as per https://www.eff.org/dnt-policy
- Change // -> / for all URLs, so it works for our php location block, too
- Removed
le-well-known.conf
so that it doesn't conflict with default Forge setups - Updated README.md
- Added support for localized sites (commented out by default)
- Added
HTTP_PROXY
- Added
client_max_body_size
to the README.md
- Updated README.md
- Added an example Forge configuration in
forge-example
- 301 Redirect URLs with trailing /'s as per https://webmasters.googleblog.com/2010/04/to-slash-or-not-to-slash.html
- Updated README.md
- Added
server_tokens off
to disable sending the Nginx version number - Added a commented out
Content-Security-Policy
header insecurity.conf
- Updated README.md
- Initial release
Brought to you by nystudio107