1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #Copy invenio stuff directly to rproxy to avoid multiple forwarding and associated confusion
- #In essence, rproxy replaces invenion frontend
- upstream frontend {
- server frontend:443;
- #could add more servers for load balancing
- }
- #HTTP -> redirect
- server {
- listen 80;
- listen [::]:80;
- server_name invenio.fmf.uni-lj.si;
- return 301 https://$host$request_uri;
- }
- #HTTPS
- server {
- listen 443 ssl;
- listen [::]:443 ssl;
- server_name invenio.fmf.uni-lj.si;
- charset utf-8;
- keepalive_timeout 5;
-
- #SSL
- ssl_certificate /var/www/invenioBundle.crt;
- ssl_certificate_key /var/www/invenio.key;
- ssl_session_timeout 1d;
- ssl_session_cache shared:SSL:50m;
- ssl_session_tickets off;
- #Hardening
- # Accepted protocols and ciphers
- ssl_protocols TLSv1 TLSv1.1 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';
- ssl_prefer_server_ciphers on;
- add_header Strict-Transport-Security "max-age=15768000"; # 6 months
-
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root /usr/share/nginx/html;
- }
- location /{
- proxy_ssl_trusted_certificate /var/www/NIXLJU-CA_chain.crt;
- proxy_pass https://frontend;
- proxy_redirect https://frontend https://invenio.fmf.uni-lj.si;
- }
- #no heroics. Since frontend is a virtual server, use http
- #I believe there is an https redirect as deep as the uiwsg web-ui engine, hence SSL must be maintained
- }
|