summaryrefslogtreecommitdiffstats
path: root/nginx/gallery_remmy_io.sls
blob: b1a9135dd4853a1d645199525d30e36008ccdc7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
nginx:
  servers:
    managed:
      gallery.remmy.io:
        enabled: True
        config:
          - server:
            - server_name: gallery.remmy.io
            - listen: 80
            - listen: '[::]:80'

            - location /.well-known/acme-challenge:
              - root: /srv/http

            - location /:
              - return: '301 https://$server_name$request_uri'

          - server:
            - server_name: gallery.remmy.io
            - listen: 443 ssl http2
            - listen: '[::]:443 ssl http2'

            - ssl_certificate: /etc/letsencrypt/live/gallery.remmy.io/fullchain.pem
            - ssl_certificate_key: /etc/letsencrypt/live/gallery.remmy.io/privkey.pem
            - ssl_dhparam: /etc/nginx/dhparam.pem

            - ssl_stapling: 'on'
            - ssl_stapling_verify: 'on'
            - ssl_trusted_certificate: /etc/letsencrypt/live/gallery.remmy.io/fullchain.pem

            # https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
            - add_header: 'Strict-Transport-Security "max-age=31536000"'

            # Tell browsers not to render the page inside a frame, and avoid clickjacking.
            - add_header: X-Frame-Options SAMEORIGIN

            # Tell browsers to not try to auto-detect the Content-Type.
            - add_header: X-Content-Type-Options nosniff

            # Enable the Cross-site scripting filter in most recent browsers.
            # Normally enabled by default, but enable it anyway if user has disabled it.
            - add_header: 'X-XSS-Protection "1; mode=block"'

            # http://www.gnuterrypratchett.com/
            - add_header: 'X-Clacks-Overhead "GNU Terry Pratchett"'

            - error_log: /var/log/nginx/gallery_remmy_io.error.log

            - try_files: $uri $uri.html $uri/ =404


            - location /.well-known/acme-challenge:
              - root: /srv/http

            - location /:
              - proxy_http_version: '1.1'
              - proxy_pass: http://127.0.0.1:8186
              - proxy_set_header: X-Real-IP $remote_addr
              - proxy_set_header: X-Forwarded-Proto https
              - proxy_set_header: X-Forwarded-Host $host
              - proxy_set_header: X-Forwarded-Server $host
              - proxy_set_header: X-Forwarded-For $proxy_add_x_forwarded_for

      gallery-static.remmy.io:
        enabled: True
        config:
          - server:
            - server_name: gallery-static.remmy.io
            - listen: 80
            - listen: '[::]:80'

            - location /.well-known/acme-challenge:
              - root: /srv/http

            - location /:
              - return: '301 https://$server_name$request_uri'


          - server:
            - server_name: gallery-static.remmy.io
            - listen: 443 ssl http2
            - listen: '[::]:443 ssl http2'

            - ssl_certificate: /etc/letsencrypt/live/gallery-static.remmy.io/fullchain.pem
            - ssl_certificate_key: /etc/letsencrypt/live/gallery-static.remmy.io/privkey.pem
            - ssl_dhparam: /etc/nginx/dhparam.pem

            - ssl_stapling: 'on'
            - ssl_stapling_verify: 'on'
            - ssl_trusted_certificate: /etc/letsencrypt/live/gallery-static.remmy.io/fullchain.pem

            # https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
            - add_header: 'Strict-Transport-Security "max-age=31536000"'

            # Tell browsers not to render the page inside a frame, and avoid clickjacking.
            - add_header: X-Frame-Options SAMEORIGIN

            # Tell browsers to not try to auto-detect the Content-Type.
            - add_header: X-Content-Type-Options nosniff

            # Enable the Cross-site scripting filter in most recent browsers.
            # Normally enabled by default, but enable it anyway if user has disabled it.
            - add_header: 'X-XSS-Protection "1; mode=block"'

            # http://www.gnuterrypratchett.com/
            - add_header: 'X-Clacks-Overhead "GNU Terry Pratchett"'

            - error_log: /var/log/nginx/gallery_static_remmy_io.error.log

            - location /.well-known/acme-challenge:
              - root: /srv/http

            - location /:
              - proxy_pass: http://gallery-static.remmy.io.eu-central-1.linodeobjects.com/

# vim: ft=yaml et: