'nginx/nginx/nginx.conf' toevoegen
This commit is contained in:
parent
e43ea2bb7b
commit
b97d19c687
1 changed files with 221 additions and 0 deletions
221
nginx/nginx/nginx.conf
Normal file
221
nginx/nginx/nginx.conf
Normal file
|
@ -0,0 +1,221 @@
|
||||||
|
## Version 2018/08/16 - Changelog: https://github.com/linuxserver/docker-baseimage-alpine-nginx/commits/master/root/defaults/nginx.conf
|
||||||
|
|
||||||
|
# handige sites:
|
||||||
|
# https://www.humankode.com/ssl/how-to-set-up-free-ssl-certificates-from-lets-encrypt-using-docker-and-nginx
|
||||||
|
|
||||||
|
# https://securityheaders.com/
|
||||||
|
# https://www.ssllabs.com/
|
||||||
|
|
||||||
|
|
||||||
|
#DH-Param maken:
|
||||||
|
#sudo openssl dhparam -out /docker/nginx/nginx/conf_split/dhparam-2048.pem 2048
|
||||||
|
#sudo openssl dhparam -out /docker/nginx/nginx/conf_split/dhparam-4096.pem 4096
|
||||||
|
|
||||||
|
|
||||||
|
# controleren of dit bestand goed is:
|
||||||
|
# docker exec nginx sh -c "nginx -t -c /config/nginx/nginx.conf"
|
||||||
|
|
||||||
|
#zonder downtime nginx reloaden:
|
||||||
|
# docker exec -it nginx s6-svc -h /var/run/s6/services/nginx
|
||||||
|
|
||||||
|
#Cert vernieuwen:
|
||||||
|
# docker run --rm -it --name certbot \
|
||||||
|
# -v "/docker/nginx/letsencrypt:/etc/letsencrypt" \
|
||||||
|
# -v "/docker/nginx/letsencrypt_var:/var/lib/letsencrypt" \
|
||||||
|
# -v "/docker/nginx/letsencrypt/letsencrypt-site:/data/letsencrypt" \
|
||||||
|
# -v "/docker/nginx/letsencrypt/log:/var/log/letsencrypt" \
|
||||||
|
# certbot/certbot renew \
|
||||||
|
# --webroot -w /data/letsencrypt \
|
||||||
|
# --quiet && docker exec -it nginx s6-svc -h /var/run/s6/services/nginx
|
||||||
|
|
||||||
|
# cronjob: (dagelijks auto vernieuwen)
|
||||||
|
# sudo docker run --rm --name certbot -v /docker/nginx/letsencrypt:/etc/letsencrypt -v /docker/nginx/letsencrypt_var:/var/lib/letsencrypt -v /docker/nginx/letsencrypt/letsencrypt-site:/data/letsencrypt -v /docker/nginx/letsencrypt/log:/var/log/letsencrypt certbot/certbot renew --webroot -w /data/letsencrypt --quiet && docker restart nginx
|
||||||
|
|
||||||
|
user abc;
|
||||||
|
worker_processes auto;
|
||||||
|
pid /run/nginx.pid;
|
||||||
|
include /etc/nginx/modules/*.conf;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 4096;
|
||||||
|
use epoll;
|
||||||
|
multi_accept on;
|
||||||
|
}
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# #
|
||||||
|
# http config #
|
||||||
|
# #
|
||||||
|
#############################################################################################
|
||||||
|
|
||||||
|
http {
|
||||||
|
|
||||||
|
charset utf-8;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
server_tokens off;
|
||||||
|
log_not_found off;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
client_max_body_size 16M;
|
||||||
|
|
||||||
|
|
||||||
|
# MIME
|
||||||
|
include /config/nginx/conf_split//mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
# logging
|
||||||
|
#access_log /var/log/nginx/access.log;
|
||||||
|
#error_log /var/log/nginx/error.log crit;
|
||||||
|
# to boost I/O on HDD we can disable access logs
|
||||||
|
access_log off;
|
||||||
|
|
||||||
|
# SSL
|
||||||
|
ssl_session_timeout 1d;
|
||||||
|
ssl_session_cache shared:SSL:10m;
|
||||||
|
ssl_session_tickets off;
|
||||||
|
|
||||||
|
# Diffie-Hellman parameter for DHE ciphersuites
|
||||||
|
include "/config/nginx/conf_split/ssl_dhparam_4096.conf";
|
||||||
|
|
||||||
|
# cache informations about FDs, frequently accessed files
|
||||||
|
# can boost performance, but you need to test those values
|
||||||
|
open_file_cache max=200000 inactive=20s;
|
||||||
|
open_file_cache_valid 30s;
|
||||||
|
open_file_cache_min_uses 2;
|
||||||
|
open_file_cache_errors on;
|
||||||
|
|
||||||
|
# copies data between one FD and other from within the kernel
|
||||||
|
# faster than read() + write()
|
||||||
|
# sendfile on;
|
||||||
|
|
||||||
|
# send headers in one piece, it is better than sending them one by one
|
||||||
|
# tcp_nopush on;
|
||||||
|
|
||||||
|
# don't buffer data sent, good for small data bursts in real time
|
||||||
|
# tcp_nodelay on;
|
||||||
|
|
||||||
|
## Compression
|
||||||
|
gzip on;
|
||||||
|
gzip_buffers 16 8k;
|
||||||
|
gzip_comp_level 9;
|
||||||
|
gzip_http_version 1.1;
|
||||||
|
gzip_min_length 10;
|
||||||
|
gzip_types text/plain text/css application/x-javascript text/xml;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_static on; #Needs compilation with gzip_static support
|
||||||
|
gzip_proxied any;
|
||||||
|
gzip_disable "MSIE [1-6]\.";
|
||||||
|
|
||||||
|
|
||||||
|
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=CACHE:10m inactive=7d max_size=1g;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# #
|
||||||
|
# webservers zonder beveileging #
|
||||||
|
# #
|
||||||
|
#############################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
#Alle overige doorverwijzen naar https:
|
||||||
|
location / {
|
||||||
|
rewrite ^ https://$host$request_uri? permanent;
|
||||||
|
}
|
||||||
|
#voor de ACME challange:
|
||||||
|
location ~ /.well-known/acme-challenge {
|
||||||
|
allow all;
|
||||||
|
root /config/letsencrypt/letsencrypt-site/;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# #
|
||||||
|
# webservers met beveileging #
|
||||||
|
# #
|
||||||
|
#############################################################################################
|
||||||
|
|
||||||
|
server {
|
||||||
|
include "/config/nginx/conf_split/listen443.conf";
|
||||||
|
server_name lermer.nl www.lermer.nl;
|
||||||
|
ssl_certificate /config/letsencrypt/live/lermer.nl/fullchain.pem;
|
||||||
|
ssl_certificate_key /config/letsencrypt/live/lermer.nl/privkey.pem;
|
||||||
|
ssl_trusted_certificate /config/letsencrypt/live/lermer.nl/chain.pem;
|
||||||
|
#include "/config/nginx/conf_split/ssl_dhparam_2048.conf";
|
||||||
|
include "/config/nginx/conf_split/ssl_dhparam_4096.conf";
|
||||||
|
include "/config/nginx/conf_split/ssl_protocol.conf";
|
||||||
|
include "/config/nginx/conf_split/headers.conf";
|
||||||
|
|
||||||
|
add_header Content-Security-Policy "default-src 'self'; connect-src *; font-src *; frame-src *; img-src * data:; media-src *; object-src *; script-src * 'unsafe-inline' 'unsafe-eval'; style-src * 'unsafe-inline';";
|
||||||
|
|
||||||
|
|
||||||
|
location / {
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
|
# Fix the “It appears that your reverse proxy set up is broken" error.
|
||||||
|
proxy_pass http://192.168.0.101:8281;
|
||||||
|
proxy_read_timeout 90;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
|
||||||
|
server {
|
||||||
|
include "/config/nginx/conf_split/listen443.conf";
|
||||||
|
server_name test.lermer.nl;
|
||||||
|
ssl_certificate /config/letsencrypt/live/test.lermer.nl/fullchain.pem;
|
||||||
|
ssl_certificate_key /config/letsencrypt/live/test.lermer.nl/privkey.pem;
|
||||||
|
ssl_trusted_certificate /config/letsencrypt/live/test.lermer.nl/chain.pem;
|
||||||
|
#include "/config/nginx/conf_split/ssl_dhparam_2048.conf";
|
||||||
|
include "/config/nginx/conf_split/ssl_dhparam_4096.conf";
|
||||||
|
|
||||||
|
include "/config/nginx/conf_split/ssl_protocol.conf";
|
||||||
|
include "/config/nginx/conf_split/headers.conf";
|
||||||
|
|
||||||
|
add_header Content-Security-Policy "default-src 'self'; connect-src *; font-src *; frame-src *; img-src * data:; media-src *; object-src *; script-src * 'unsafe-inline' 'unsafe-eval'; style-src * 'unsafe-inline';";
|
||||||
|
|
||||||
|
root /config/test/;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
root /config/test/;
|
||||||
|
index index.html ;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
|
||||||
|
root /config/test/;
|
||||||
|
expires 30d;
|
||||||
|
}
|
||||||
|
|
||||||
|
error_page 404 =200 /404.html;
|
||||||
|
error_page 403 /404.html;
|
||||||
|
error_page 404 /404.html;
|
||||||
|
error_page 405 /404.html;
|
||||||
|
error_page 500 501 502 503 504 /404.html;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#############################################################################################
|
||||||
|
# #
|
||||||
|
# End #
|
||||||
|
# #
|
||||||
|
#############################################################################################
|
||||||
|
|
||||||
|
}
|
||||||
|
daemon off;
|
Loading…
Reference in a new issue