services: nginx: Replace 'http-port' and 'https-port' with 'listen'.

* doc/guix.texi (Web Services, Version Control Services): Update accordingly.
* gnu/services/certbot.scm (certbot-nginx-server-configurations): Likewise.
* gnu/services/version-control.scm (%cgit-configuration-nginx): Likewise.
* gnu/services/web.scm (<nginx-server-configuration>,
emit-nginx-server-config): Likewise.
* gnu/tests/version-control.scm (%cgit-configuration-nginx,
%git-nginx-configuration): Likewise.
* gnu/tests/web.scm (%nginx-servers, %php-fpm-nginx-server-blocks): Likewise.
This commit is contained in:
Clément Lassieur 2017-12-09 12:59:12 +01:00
parent f1a2b1cb20
commit 8b223ceac4
No known key found for this signature in database
GPG key ID: 89F96D4808F359C7
6 changed files with 25 additions and 31 deletions

View file

@ -14938,17 +14938,15 @@ Data type representing the configuration of an nginx server block.
This type has the following parameters: This type has the following parameters:
@table @asis @table @asis
@item @code{http-port} (default: @code{80}) @item @code{listen} (default: @code{'("80" "443 ssl")})
Nginx will listen for HTTP connection on this port. Set it at @code{#f} if Each @code{listen} directive sets the address and port for IP, or the
nginx should not listen for HTTP (non secure) connection for this path for a UNIX-domain socket on which the server will accept requests.
@dfn{server block}. Both address and port, or only address or only port can be specified.
An address may also be a hostname, for example:
@item @code{https-port} (default: @code{443}) @example
Nginx will listen for HTTPS connection on this port. Set it at @code{#f} if '("127.0.0.1:8000" "127.0.0.1" "8000" "*:8000" "localhost:8000")
nginx should not listen for HTTPS (secure) connection for this @dfn{server block}. @end example
Note that nginx can listen for HTTP and HTTPS connections in the same
@dfn{server block}.
@item @code{server-name} (default: @code{(list 'default)}) @item @code{server-name} (default: @code{(list 'default)})
A list of server names this server represents. @code{'default} represents the A list of server names this server represents. @code{'default} represents the
@ -17689,7 +17687,7 @@ serve the default @file{/srv/git} over HTTPS might be:
(server-blocks (server-blocks
(list (list
(nginx-server-configuration (nginx-server-configuration
(http-port #f) (listen '("443 ssl"))
(server-name "git.my-host.org") (server-name "git.my-host.org")
(ssl-certificate (ssl-certificate
"/etc/letsencrypt/live/git.my-host.org/fullchain.pem") "/etc/letsencrypt/live/git.my-host.org/fullchain.pem")

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -97,8 +98,7 @@ (define certbot-nginx-server-configurations
(map (map
(lambda (host) (lambda (host)
(nginx-server-configuration (nginx-server-configuration
(http-port 80) (listen '("80"))
(https-port #f)
(ssl-certificate #f) (ssl-certificate #f)
(ssl-certificate-key #f) (ssl-certificate-key #f)
(server-name (list host)) (server-name (list host))

View file

@ -2,6 +2,7 @@
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -231,7 +232,7 @@ (define %cgit-configuration-nginx
"fastcgi_param HTTP_HOST $server_name;" "fastcgi_param HTTP_HOST $server_name;"
"fastcgi_pass 127.0.0.1:9000;"))))) "fastcgi_pass 127.0.0.1:9000;")))))
(try-files (list "$uri" "@cgit")) (try-files (list "$uri" "@cgit"))
(https-port #f) (listen '("80"))
(ssl-certificate #f) (ssl-certificate #f)
(ssl-certificate-key #f)))) (ssl-certificate-key #f))))

View file

@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -49,8 +50,7 @@ (define-module (gnu services web)
<nginx-server-configuration> <nginx-server-configuration>
nginx-server-configuration nginx-server-configuration
nginx-server-configuration? nginx-server-configuration?
nginx-server-configuration-http-port nginx-server-configuration-listen
nginx-server-configuartion-https-port
nginx-server-configuration-server-name nginx-server-configuration-server-name
nginx-server-configuration-root nginx-server-configuration-root
nginx-server-configuration-locations nginx-server-configuration-locations
@ -135,10 +135,8 @@ (define-module (gnu services web)
(define-record-type* <nginx-server-configuration> (define-record-type* <nginx-server-configuration>
nginx-server-configuration make-nginx-server-configuration nginx-server-configuration make-nginx-server-configuration
nginx-server-configuration? nginx-server-configuration?
(http-port nginx-server-configuration-http-port (listen nginx-server-configuration-listen
(default 80)) (default '("80" "443 ssl")))
(https-port nginx-server-configuration-https-port
(default 443))
(server-name nginx-server-configuration-server-name (server-name nginx-server-configuration-server-name
(default (list 'default))) (default (list 'default)))
(root nginx-server-configuration-root (root nginx-server-configuration-root
@ -225,8 +223,7 @@ (define emit-nginx-location-config
" }\n")))) " }\n"))))
(define (emit-nginx-server-config server) (define (emit-nginx-server-config server)
(let ((http-port (nginx-server-configuration-http-port server)) (let ((listen (nginx-server-configuration-listen server))
(https-port (nginx-server-configuration-https-port server))
(server-name (nginx-server-configuration-server-name server)) (server-name (nginx-server-configuration-server-name server))
(ssl-certificate (nginx-server-configuration-ssl-certificate server)) (ssl-certificate (nginx-server-configuration-ssl-certificate server))
(ssl-certificate-key (ssl-certificate-key
@ -245,8 +242,7 @@ (define-syntax-rule (and/l x tail ...)
'()))) '())))
(list (list
" server {\n" " server {\n"
(and/l http-port " listen " (number->string <>) ";\n") (map (lambda (directive) (list " listen " directive ";\n")) listen)
(and/l https-port " listen " (number->string <>) " ssl;\n")
" server_name " (config-domain-strings server-name) ";\n" " server_name " (config-domain-strings server-name) ";\n"
(and/l ssl-certificate " ssl_certificate " <> ";\n") (and/l ssl-certificate " ssl_certificate " <> ";\n")
(and/l ssl-certificate-key " ssl_certificate_key " <> ";\n") (and/l ssl-certificate-key " ssl_certificate_key " <> ";\n")

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -78,8 +79,7 @@ (define %cgit-configuration-nginx
"fastcgi_param HTTP_HOST $server_name;" "fastcgi_param HTTP_HOST $server_name;"
"fastcgi_pass 127.0.0.1:9000;"))))) "fastcgi_pass 127.0.0.1:9000;")))))
(try-files (list "$uri" "@cgit")) (try-files (list "$uri" "@cgit"))
(http-port 19418) (listen '("19418"))
(https-port #f)
(ssl-certificate #f) (ssl-certificate #f)
(ssl-certificate-key #f)))) (ssl-certificate-key #f))))
@ -211,8 +211,7 @@ (define %git-nginx-configuration
(server-blocks (server-blocks
(list (list
(nginx-server-configuration (nginx-server-configuration
(http-port 19418) (listen '("19418"))
(https-port #f)
(ssl-certificate #f) (ssl-certificate #f)
(ssl-certificate-key #f) (ssl-certificate-key #f)
(locations (locations

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -47,7 +48,7 @@ (define %nginx-servers
;; Server blocks. ;; Server blocks.
(list (nginx-server-configuration (list (nginx-server-configuration
(root "/srv") (root "/srv")
(http-port 8042)))) (listen '("8042" "443 ssl")))))
(define %nginx-os (define %nginx-os
;; Operating system under test. ;; Operating system under test.
@ -153,8 +154,7 @@ (define %php-fpm-nginx-server-blocks
(root "/srv") (root "/srv")
(locations (locations
(list (nginx-php-location))) (list (nginx-php-location)))
(http-port 8042) (listen "8042")
(https-port #f)
(ssl-certificate #f) (ssl-certificate #f)
(ssl-certificate-key #f)))) (ssl-certificate-key #f))))