blob: 74cbd9d476699bffc7cc8a03ac97f797e35624d0 [file] [log] [blame]
# This should be put in ngxpagespeed.com:/usr/local/nginx/conf/
#
# To hook this up, replace ngxpagespeed.com:/usr/local/nginx/conf/nginx.conf
# with just:
# include ngxpagespeed-com.conf;
#
# You also need to set up a systemd config file. Copy nginx.service to
# ngxpagespeed.com:/lib/systemd/system/nginx.service
worker_processes auto;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_vary on;
# Turn on gzip for all content types that should benefit from it.
gzip_types application/ecmascript;
gzip_types application/javascript;
gzip_types application/json;
gzip_types application/pdf;
gzip_types application/postscript;
gzip_types application/x-javascript;
gzip_types image/svg+xml;
gzip_types text/css;
gzip_types text/csv;
# "gzip_types text/html" is assumed.
gzip_types text/javascript;
gzip_types text/plain;
gzip_types text/xml;
gzip_http_version 1.0;
# Turn on the admin pages. We need to do this here because GlobalAdmin can
# only be set at global (process) scope.
#
# These are intentionally left globally readable, for demonstration
# purposes.
pagespeed AdminPath /pagespeed_admin;
pagespeed GlobalAdminPath /pagespeed_global_admin;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
server {
listen 80;
location / {
deny all;
}
}
server {
listen 80;
server_name ngxpagespeed.com www.ngxpagespeed.com;
return 301 https://ngxpagespeed.com$request_uri;
}
server {
listen 80;
server_name ping.ngxpagespeed.com;
root ping;
index index.html;
add_header "Cache-Control" "public, max-age=600";
}
server {
listen 443;
server_name ngxpagespeed.com www.ngxpagespeed.com;
location / {
root html;
index index.html index.htm;
}
location /install {
rewrite ^/.* https://raw.githubusercontent.com/pagespeed/ngx_pagespeed/master/scripts/build_ngx_pagespeed.sh;
}
pagespeed on;
# Ensure requests for pagespeed optimized resources go to the pagespeed
# handler and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
pagespeed Library 43 1o978_K0_LNE5_ystNklf https://www.modpagespeed.com/rewrite_javascript.js;
# To demo insert_ga we need to specify a Google Analytics ID.
pagespeed AnalyticsID UA-32429239-2;
pagespeed EnableFilters insert_ga;
pagespeed RetainComment " google_ad_section*";
pagespeed MapProxyDomain https://ngxpagespeed.com/pss_images
https://ref.pssdemos.com/filter/images;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# Generated from
# https://mozilla.github.io/server-side-tls/ssl-config-generator/ with
# "intermediate" settings. Oldest compatible clients:
# Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8,
# Android 2.3, Java 7
# Can't choose "modern" settings if we want to keep IE before 11.
#
ssl on;
ssl_certificate modpagespeed.com.crt;
ssl_certificate_key modpagespeed.com.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# Diffie-Hellman parameter for DHE ciphersuites. To generate:
# openssl dhparam -out dhparam.pem 4096
# sudo mv dhparam.pem /usr/local/nginx/conf/
ssl_dhparam dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
# HSTS (6 months)
add_header Strict-Transport-Security max-age=15768000;
# Skipped OSCP Stapling.
}
}