~ruther/guix-local

c48aa70a9aa68ac6f365663044357be77eb9e36a — Christopher Baines 8 years ago b7db2c63
services: web: Remove default certificate and key files for nginx.

If nginx is configured with a ssl-certificate file, and ssl-certificate-key,
it will fail to start unless these exist. To avoid this happening, change the
default to #f.

* gnu/services/web.scm (<nginx-server-configuration>)
  [ssl-certificate,ssl-certificate-key]: Set the defaults to #f.
* gnu/tests/web.scm (%nginx-servers): Remove redundant
  nginx-server-configuration fields.
* doc/guix.texi (Web Services): Update examples and documentation.
3 files changed, 7 insertions(+), 22 deletions(-)

M doc/guix.texi
M gnu/services/web.scm
M gnu/tests/web.scm
M doc/guix.texi => doc/guix.texi +4 -16
@@ 14813,10 14813,7 @@ A simple example configuration is given below.
           (server-blocks
             (list (nginx-server-configuration
                     (server-name '("www.example.com"))
                     (root "/srv/http/www.example.com")
                     (https-port #f)
                     (ssl-certificate #f)
                     (ssl-certificate-key #f))))))
                     (root "/srv/http/www.example.com"))))))
@end example

In addition to adding server blocks to the service configuration


@@ 14826,9 14823,6 @@ blocks, as in this example:
@example
(simple-service 'my-extra-server nginx-service-type
                (list (nginx-server-configuration
                        (https-port #f)
                        (ssl-certificate #f)
                        (ssl-certificate-key #f)
                        (root "/srv/http/extra-website")
                        (try-files (list "$uri" "$uri/index.html")))))
@end example


@@ 14873,10 14867,7 @@ HTTPS.
           (server-blocks
             (list (nginx-server-configuration
                     (server-name '("www.example.com"))
                     (root "/srv/http/www.example.com")
                     (https-port #f)
                     (ssl-certificate #f)
                     (ssl-certificate-key #f))))))
                     (root "/srv/http/www.example.com"))))))
@end example

@item @code{upstream-blocks} (default: @code{'()})


@@ 14899,9 14890,6 @@ requests with two servers.
      (list (nginx-server-configuration
              (server-name '("www.example.com"))
              (root "/srv/http/www.example.com")
              (https-port #f)
              (ssl-certificate #f)
              (ssl-certificate-key #f)
              (locations
                (list
                  (nginx-location-configuration


@@ 14965,11 14953,11 @@ Nginx will send the list of files in the directory.
A list of files whose existence is checked in the specified order.
@code{nginx} will use the first file it finds to process the request.

@item @code{ssl-certificate} (default: @code{"/etc/nginx/cert.pem"})
@item @code{ssl-certificate} (default: @code{#f})
Where to find the certificate for secure connections.  Set it to @code{#f} if
you don't have a certificate or you don't want to use HTTPS.

@item @code{ssl-certificate-key} (default: @code{"/etc/nginx/key.pem"})
@item @code{ssl-certificate-key} (default: @code{#f})
Where to find the private key for secure connections.  Set it to @code{#f} if
you don't have a key or you don't want to use HTTPS.


M gnu/services/web.scm => gnu/services/web.scm +2 -2
@@ 102,9 102,9 @@
  (try-files           nginx-server-configuration-try-files
                       (default '()))
  (ssl-certificate     nginx-server-configuration-ssl-certificate
                       (default "/etc/nginx/cert.pem"))
                       (default #f))
  (ssl-certificate-key nginx-server-configuration-ssl-certificate-key
                       (default "/etc/nginx/key.pem"))
                       (default #f))
  (server-tokens?      nginx-server-configuration-server-tokens?
                       (default #f)))


M gnu/tests/web.scm => gnu/tests/web.scm +1 -4
@@ 45,10 45,7 @@
  ;; Server blocks.
  (list (nginx-server-configuration
         (root "/srv")
         (http-port 8042)
         (https-port #f)
         (ssl-certificate #f)
         (ssl-certificate-key #f))))
         (http-port 8042))))

(define %nginx-os
  ;; Operating system under test.