No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

54 líneas
1.1KB

  1. server {
  2. server_name {{ vhost.server_names | join(' ') }};
  3. listen 443 ssl;
  4. listen [::]:443 ssl;
  5. ssl_certificate /etc/ssl/certs/{{ vhost.name }}.fullchain.pem;
  6. ssl_certificate_key /etc/ssl/private/{{ vhost.name }}.key.pem;
  7. charset utf-8;
  8. {% if vhost.root is defined %}
  9. root {{ vhost.root }};
  10. {% endif %}
  11. {% if vhost.try_files is defined %}
  12. try_files {{ vhost.try_files }};
  13. {% endif %}
  14. {% if vhost.locations is defined %}
  15. {% for loc in vhost.locations %}
  16. location {{ loc.location }} {
  17. {% if loc.proxy_pass is defined %}
  18. proxy_pass {{ loc.proxy_pass }};
  19. proxy_set_header Host $http_host;
  20. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  21. {% endif %}
  22. {% if loc.alias is defined %}
  23. alias {{ loc.alias }};
  24. {% endif %}
  25. {% if loc.try_files is defined %}
  26. try_files {{ loc.try_files }};
  27. {% endif %}
  28. {% if loc.redirect is defined %}
  29. return 301 {{ loc.redirect }};
  30. {% endif %}
  31. }
  32. {% endfor %}
  33. {% endif %}
  34. }
  35. server {
  36. listen 80;
  37. listen [::]:80;
  38. server_name {{ vhost.server_names | join(' ') }};
  39. return 301 https://$host$request_uri;
  40. }