invenio.conf.off 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #Copy invenio stuff directly to rproxy to avoid multiple forwarding and associated confusion
  2. #In essence, rproxy replaces invenion frontend
  3. upstream frontend {
  4. server frontend:443;
  5. #could add more servers for load balancing
  6. }
  7. #HTTP -> redirect
  8. server {
  9. listen 80;
  10. listen [::]:80;
  11. server_name invenio.fmf.uni-lj.si;
  12. return 301 https://$host$request_uri;
  13. }
  14. #HTTPS
  15. server {
  16. listen 443 ssl;
  17. listen [::]:443 ssl;
  18. server_name invenio.fmf.uni-lj.si;
  19. charset utf-8;
  20. keepalive_timeout 5;
  21. #SSL
  22. ssl_certificate /var/www/invenioBundle.crt;
  23. ssl_certificate_key /var/www/invenio.key;
  24. ssl_session_timeout 1d;
  25. ssl_session_cache shared:SSL:50m;
  26. ssl_session_tickets off;
  27. #Hardening
  28. # Accepted protocols and ciphers
  29. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  30. 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';
  31. ssl_prefer_server_ciphers on;
  32. add_header Strict-Transport-Security "max-age=15768000"; # 6 months
  33. error_page 500 502 503 504 /50x.html;
  34. location = /50x.html {
  35. root /usr/share/nginx/html;
  36. }
  37. location /{
  38. proxy_ssl_trusted_certificate /var/www/NIXLJU-CA_chain.crt;
  39. proxy_pass https://frontend;
  40. proxy_redirect https://frontend https://invenio.fmf.uni-lj.si;
  41. }
  42. #no heroics. Since frontend is a virtual server, use http
  43. #I believe there is an https redirect as deep as the uiwsg web-ui engine, hence SSL must be maintained
  44. }