mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 05:39:41 -05:00
services: web: Add try-files for the nginx-service-type.
* gnu/services/web.scm (<nginx-server-configuration>): Add nginx-server-configuration-try-files. (emit-nginx-server-config): Use it. * doc/guix.texi (Web Services): Document it.
This commit is contained in:
parent
80c3f4d6c0
commit
4d14808af4
2 changed files with 12 additions and 1 deletions
|
@ -14263,7 +14263,8 @@ blocks, as in this example:
|
||||||
(https-port #f)
|
(https-port #f)
|
||||||
(ssl-certificate #f)
|
(ssl-certificate #f)
|
||||||
(ssl-certificate-key #f)
|
(ssl-certificate-key #f)
|
||||||
(root "/srv/http/extra-website"))))
|
(root "/srv/http/extra-website")
|
||||||
|
(try-files (list "$uri" "$uri/index.html")))))
|
||||||
@end example
|
@end example
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@ -14394,6 +14395,10 @@ server block.
|
||||||
Index files to look for when clients ask for a directory. If it cannot be found,
|
Index files to look for when clients ask for a directory. If it cannot be found,
|
||||||
Nginx will send the list of files in the directory.
|
Nginx will send the list of files in the directory.
|
||||||
|
|
||||||
|
@item @code{try-files} (default: @code{'()})
|
||||||
|
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{"/etc/nginx/cert.pem"})
|
||||||
Where to find the certificate for secure connections. Set it to @code{#f} if
|
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.
|
you don't have a certificate or you don't want to use HTTPS.
|
||||||
|
|
|
@ -99,6 +99,8 @@ (define-record-type* <nginx-server-configuration>
|
||||||
(default '()))
|
(default '()))
|
||||||
(index nginx-server-configuration-index
|
(index nginx-server-configuration-index
|
||||||
(default (list "index.html")))
|
(default (list "index.html")))
|
||||||
|
(try-files nginx-server-configuration-try-files
|
||||||
|
(default '()))
|
||||||
(ssl-certificate nginx-server-configuration-ssl-certificate
|
(ssl-certificate nginx-server-configuration-ssl-certificate
|
||||||
(default "/etc/nginx/cert.pem"))
|
(default "/etc/nginx/cert.pem"))
|
||||||
(ssl-certificate-key nginx-server-configuration-ssl-certificate-key
|
(ssl-certificate-key nginx-server-configuration-ssl-certificate-key
|
||||||
|
@ -179,6 +181,7 @@ (define (emit-nginx-server-config server)
|
||||||
(nginx-server-configuration-ssl-certificate-key server))
|
(nginx-server-configuration-ssl-certificate-key server))
|
||||||
(root (nginx-server-configuration-root server))
|
(root (nginx-server-configuration-root server))
|
||||||
(index (nginx-server-configuration-index server))
|
(index (nginx-server-configuration-index server))
|
||||||
|
(try-files (nginx-server-configuration-try-files server))
|
||||||
(server-tokens? (nginx-server-configuration-server-tokens? server))
|
(server-tokens? (nginx-server-configuration-server-tokens? server))
|
||||||
(locations (nginx-server-configuration-locations server)))
|
(locations (nginx-server-configuration-locations server)))
|
||||||
(define-syntax-parameter <> (syntax-rules ()))
|
(define-syntax-parameter <> (syntax-rules ()))
|
||||||
|
@ -207,6 +210,9 @@ (define-syntax-rule (and/l x tail ...)
|
||||||
(and/l ssl-certificate-key " ssl_certificate_key " <> ";\n")
|
(and/l ssl-certificate-key " ssl_certificate_key " <> ";\n")
|
||||||
" root " root ";\n"
|
" root " root ";\n"
|
||||||
" index " (config-index-strings index) ";\n"
|
" index " (config-index-strings index) ";\n"
|
||||||
|
(if (not (nil? try-files))
|
||||||
|
(and/l (config-index-strings try-files) " try_files " <> ";\n")
|
||||||
|
"")
|
||||||
" server_tokens " (if server-tokens? "on" "off") ";\n"
|
" server_tokens " (if server-tokens? "on" "off") ";\n"
|
||||||
"\n"
|
"\n"
|
||||||
(map emit-nginx-location-config locations)
|
(map emit-nginx-location-config locations)
|
||||||
|
|
Loading…
Reference in a new issue