mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
71 lines
3.8 KiB
Text
71 lines
3.8 KiB
Text
server {
|
|
listen 80 default_server;
|
|
listen [::]:80 default_server;
|
|
|
|
location / {
|
|
return 302 https://$http_host/yunohost/admin;
|
|
}
|
|
|
|
location /yunohost/admin {
|
|
return 301 https://$http_host$request_uri;
|
|
}
|
|
}
|
|
|
|
server {
|
|
listen 443 ssl http2 default_server;
|
|
listen [::]:443 ssl http2 default_server;
|
|
|
|
ssl_certificate /etc/yunohost/certs/yunohost.org/crt.pem;
|
|
ssl_certificate_key /etc/yunohost/certs/yunohost.org/key.pem;
|
|
ssl_session_timeout 5m;
|
|
ssl_session_cache shared:SSL:50m;
|
|
|
|
# As suggested by Mozilla : https://wiki.mozilla.org/Security/Server_Side_TLS and https://en.wikipedia.org/wiki/Curve25519
|
|
ssl_ecdh_curve secp521r1:secp384r1:prime256v1;
|
|
ssl_prefer_server_ciphers on;
|
|
|
|
# Ciphers with intermediate compatibility
|
|
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=nginx-1.6.2&openssl=1.0.1t&hsts=yes&profile=intermediate
|
|
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';
|
|
|
|
# Ciphers with modern compatibility
|
|
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=nginx-1.6.2&openssl=1.0.1t&hsts=yes&profile=modern
|
|
# Uncomment the following to use modern ciphers, but remove compatibility with some old clients (android < 5.0, Internet Explorer < 10, ...)
|
|
#ssl_protocols TLSv1.2;
|
|
#ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
|
|
|
|
# Uncomment the following directive after DH generation
|
|
# > openssl dhparam -out /etc/ssl/private/dh2048.pem -outform PEM -2 2048
|
|
#ssl_dhparam /etc/ssl/private/dh2048.pem;
|
|
|
|
# Follows the Web Security Directives from the Mozilla Dev Lab and the Mozilla Obervatory + Partners
|
|
# https://wiki.mozilla.org/Security/Guidelines/Web_Security
|
|
# https://observatory.mozilla.org/
|
|
more_set_headers "Strict-Transport-Security : max-age=63072000; includeSubDomains; preload";
|
|
more_set_headers "Referrer-Policy : 'same-origin'";
|
|
more_set_headers "Content-Security-Policy : upgrade-insecure-requests; object-src 'none'; script-src https: 'unsafe-eval'";
|
|
more_set_headers "X-Content-Type-Options : nosniff";
|
|
more_set_headers "X-XSS-Protection : 1; mode=block";
|
|
more_set_headers "X-Download-Options : noopen";
|
|
more_set_headers "X-Permitted-Cross-Domain-Policies : none";
|
|
more_set_headers "X-Frame-Options : SAMEORIGIN";
|
|
|
|
location / {
|
|
return 302 https://$http_host/yunohost/admin;
|
|
}
|
|
|
|
location /yunohost {
|
|
# Block crawlers bot
|
|
if ($http_user_agent ~ (crawl|Googlebot|Slurp|spider|bingbot|tracker|click|parser|spider|facebookexternalhit) ) {
|
|
return 403;
|
|
}
|
|
# X-Robots-Tag to precise the rules applied.
|
|
add_header X-Robots-Tag "nofollow, noindex, noarchive, nosnippet";
|
|
# Redirect most of 404 to maindomain.tld/yunohost/sso
|
|
access_by_lua_file /usr/share/ssowat/access.lua;
|
|
}
|
|
|
|
include /etc/nginx/conf.d/yunohost_admin.conf.inc;
|
|
include /etc/nginx/conf.d/yunohost_api.conf.inc;
|
|
}
|