Refactor nginx
This commit is contained in:
parent
7d6329a409
commit
c954272947
2 changed files with 34 additions and 51 deletions
|
|
@ -119,6 +119,7 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||||
&'a self,
|
&'a self,
|
||||||
host_name: &'static str,
|
host_name: &'static str,
|
||||||
root_dir: Cow<'a, str>,
|
root_dir: Cow<'a, str>,
|
||||||
|
additional_config: &'a str,
|
||||||
) -> Box<dyn Action + 'a> {
|
) -> Box<dyn Action + 'a> {
|
||||||
let user_name = self.policy.user_name_for_host(host_name);
|
let user_name = self.policy.user_name_for_host(host_name);
|
||||||
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
||||||
|
|
@ -126,7 +127,13 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||||
self.get_php_fpm_pool(&user_name),
|
self.get_php_fpm_pool(&user_name),
|
||||||
self.get_nginx_acme_server(
|
self.get_nginx_acme_server(
|
||||||
host_name,
|
host_name,
|
||||||
NginxServer::new_php(host_name, socket.into(), root_dir, self.command_runner),
|
NginxServer::new_php(
|
||||||
|
host_name,
|
||||||
|
socket.into(),
|
||||||
|
root_dir,
|
||||||
|
self.command_runner,
|
||||||
|
additional_config,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
]))
|
]))
|
||||||
}
|
}
|
||||||
|
|
@ -136,29 +143,15 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||||
host_name: &'static str,
|
host_name: &'static str,
|
||||||
root_dir: Cow<'a, str>,
|
root_dir: Cow<'a, str>,
|
||||||
) -> Box<dyn Action + 'a> {
|
) -> Box<dyn Action + 'a> {
|
||||||
let user_name = self.policy.user_name_for_host(host_name);
|
self.serve_php(
|
||||||
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
host_name,
|
||||||
Box::new(ListAction::new(vec![
|
root_dir,
|
||||||
self.get_php_fpm_pool(&user_name),
|
"
|
||||||
self.get_nginx_acme_server(
|
|
||||||
host_name,
|
|
||||||
NginxServer::new(
|
|
||||||
host_name,
|
|
||||||
server_config(
|
|
||||||
host_name,
|
|
||||||
&format!(
|
|
||||||
"{}
|
|
||||||
location / {{
|
location / {{
|
||||||
try_files $uri $uri/ /index.php?$args;
|
try_files $uri $uri/ /index.php?$args;
|
||||||
}}
|
}}
|
||||||
",
|
",
|
||||||
php_server_config_snippet(socket.into(), root_dir)
|
)
|
||||||
),
|
|
||||||
),
|
|
||||||
self.command_runner,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
]))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn serve_dokuwiki<'a>(
|
pub fn serve_dokuwiki<'a>(
|
||||||
|
|
@ -205,18 +198,10 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||||
host_name: &'static str,
|
host_name: &'static str,
|
||||||
root_dir: Cow<'a, str>,
|
root_dir: Cow<'a, str>,
|
||||||
) -> Box<dyn Action + 'a> {
|
) -> Box<dyn Action + 'a> {
|
||||||
let user_name = self.policy.user_name_for_host(host_name);
|
self.serve_php(
|
||||||
let socket = self.get_php_fpm_pool_socket_path(&user_name);
|
host_name,
|
||||||
Box::new(ListAction::new(vec![
|
root_dir,
|
||||||
self.get_php_fpm_pool(&user_name),
|
"
|
||||||
self.get_nginx_acme_server(
|
|
||||||
host_name,
|
|
||||||
NginxServer::new(
|
|
||||||
host_name,
|
|
||||||
server_config(
|
|
||||||
host_name,
|
|
||||||
&format!(
|
|
||||||
"{}
|
|
||||||
client_max_body_size 500M;
|
client_max_body_size 500M;
|
||||||
|
|
||||||
# Disable gzip to avoid the removal of the ETag header
|
# Disable gzip to avoid the removal of the ETag header
|
||||||
|
|
@ -229,17 +214,17 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||||
error_page 403 /core/templates/403.php;
|
error_page 403 /core/templates/403.php;
|
||||||
error_page 404 /core/templates/404.php;
|
error_page 404 /core/templates/404.php;
|
||||||
|
|
||||||
location = /robots.txt {{
|
location = /robots.txt {
|
||||||
allow all;
|
allow all;
|
||||||
log_not_found off;
|
log_not_found off;
|
||||||
access_log off;
|
access_log off;
|
||||||
}}
|
}
|
||||||
|
|
||||||
location ~ ^/(?:\\.htaccess|data|config|db_structure\\.xml|README) {{
|
location ~ ^/(?:\\.htaccess|data|config|db_structure\\.xml|README) {
|
||||||
deny all;
|
deny all;
|
||||||
}}
|
}
|
||||||
|
|
||||||
location / {{
|
location / {
|
||||||
# The following 2 rules are only needed with webfinger
|
# The following 2 rules are only needed with webfinger
|
||||||
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
|
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
|
||||||
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
|
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
|
||||||
|
|
@ -250,28 +235,22 @@ env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||||
rewrite ^(/core/doc/[^\\/]+/)$ $1/index.html;
|
rewrite ^(/core/doc/[^\\/]+/)$ $1/index.html;
|
||||||
|
|
||||||
try_files $uri $uri/ /index.php;
|
try_files $uri $uri/ /index.php;
|
||||||
}}
|
}
|
||||||
|
|
||||||
# Adding the cache control header for js and css files
|
# Adding the cache control header for js and css files
|
||||||
# Make sure it is BELOW the location ~ \\.php(?:$|/) {{ block
|
# Make sure it is BELOW the location ~ \\.php(?:$|/) { block
|
||||||
location ~* \\.(?:css|js)$ {{
|
location ~* \\.(?:css|js)$ {
|
||||||
add_header Cache-Control \"public, max-age=7200\";
|
add_header Cache-Control \"public, max-age=7200\";
|
||||||
# Optional: Don't log access to assets
|
# Optional: Don't log access to assets
|
||||||
access_log off;
|
access_log off;
|
||||||
}}
|
}
|
||||||
|
|
||||||
# Optional: Don't log access to other assets
|
# Optional: Don't log access to other assets
|
||||||
location ~* \\.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {{
|
location ~* \\.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
|
||||||
access_log off;
|
access_log off;
|
||||||
}}
|
}
|
||||||
",
|
",
|
||||||
php_server_config_snippet(socket.into(), root_dir)
|
)
|
||||||
),
|
|
||||||
),
|
|
||||||
self.command_runner,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
]))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn serve_redir<'a>(
|
pub fn serve_redir<'a>(
|
||||||
|
|
|
||||||
|
|
@ -171,8 +171,12 @@ location @proxy {{
|
||||||
socket_path: Cow<'a, str>,
|
socket_path: Cow<'a, str>,
|
||||||
static_path: Cow<'a, str>,
|
static_path: Cow<'a, str>,
|
||||||
command_runner: &'a C,
|
command_runner: &'a C,
|
||||||
|
additional_config: &'a str,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let content = server_config(domain, &php_server_config_snippet(socket_path, static_path));
|
let content = server_config(
|
||||||
|
domain,
|
||||||
|
&(php_server_config_snippet(socket_path, static_path) + additional_config),
|
||||||
|
);
|
||||||
NginxServer::new(domain, content, command_runner)
|
NginxServer::new(domain, content, command_runner)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue