VecH
March 13, 2024, 1:41pm
1
Система Raspberry PI OS (bookworm), обновлена на сегодняшний день
Raspberry PI 4 (arm64)
# angie -V
Angie version: Angie/1.4.1
built with OpenSSL 3.0.11 19 Sep 2023
TLS SNI support enabled
configure arguments: --prefix=/etc/angie --conf-path=/etc/angie/angie.conf --error-log-path=/var/log/angie/error.log --http-log-path=/var/log/angie/access.log --lock-path=/run/angie.lock --modules-path=/usr/lib/angie/modules --pid-path=/run/angie.pid --sbin-path=/usr/sbin/angie --http-client-body-temp-path=/var/cache/angie/client_temp --http-fastcgi-temp-path=/var/cache/angie/fastcgi_temp --http-proxy-temp-path=/var/cache/angie/proxy_temp --http-scgi-temp-path=/var/cache/angie/scgi_temp --http-uwsgi-temp-path=/var/cache/angie/uwsgi_temp --user=angie --group=angie --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_v3_module --with-mail --with-mail_ssl_module --with-stream --with-stream_mqtt_preread_module --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --feature-cache=../angie-feature-cache --with-ld-opt='-Wl,-z,relro -Wl,-z,now'
Модуль dav_ext установлен
# apt install angie-module-dav-ext
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
angie-module-dav-ext is already the newest version (1.4.1-1~bookworm).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# cat /etc/angie/http.d/webdav.conf
server {
listen 8080;
server_name localhost;
access_log /var/log/angie/wd.access.log main;
location / {
root /mnt/TOSHIBA_500GB/sda1/_WEBDav;
index index.html index.htm;
}
location /status/ {
api /status/;
allow 127.0.0.1;
deny all;
}
location / {
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:rw;
client_max_body_size 0;
create_full_put_path on;
client_body_temp_path /tmp/;
auth_pam "Restricted";
auth_pam_service_name "common-auth";
}
}
angie: [emerg] unknown directive “dav_ext_methods” in /etc/angie/http.d/webdav.conf:20
li
March 13, 2024, 1:48pm
2
Добрый день!
Убедитесь, пожалуйста, что вы не забыли загрузить динамический модуль директивой load_module :
load_module modules/ngx_http_dav_ext_module.so;
VecH
March 13, 2024, 1:56pm
3
# ls -al /etc/angie/modules
lrwxrwxrwx 1 root root 22 Feb 15 18:04 /etc/angie/modules -> /usr/lib/angie/modules
# cat /etc/angie/angie.conf |grep -v "^$\|^#"
user angie;
worker_processes auto;
worker_rlimit_nofile 65536;
error_log /var/log/angie/error.log notice;
pid /run/angie.pid;
events {
worker_connections 65536;
}
http {
include /etc/angie/mime.types;
default_type application/octet-stream;
load_module modules/ngx_http_dav_ext_module.so
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format extended '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" rt="$request_time" '
'"$http_user_agent" "$http_x_forwarded_for" '
'h="$host" sn="$server_name" ru="$request_uri" u="$uri" '
'ucs="$upstream_cache_status" ua="$upstream_addr" us="$upstream_status" '
'uct="$upstream_connect_time" urt="$upstream_response_time"';
access_log /var/log/angie/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/angie/http.d/*.conf;
}
"load_module" directive is not allowed here in /etc/angie/angie.conf:22
Куда прописывать параметр load_module ?
li
March 13, 2024, 1:59pm
4
Использование директивы load_module (по ссылке — документация) допустимо только в контексте main
. То есть, как-то так:
user angie;
worker_processes auto;
worker_rlimit_nofile 65536;
error_log /var/log/angie/error.log notice;
pid /run/angie.pid;
load_module modules/ngx_http_dav_ext_module.so;
events {
worker_connections 65536;
}
VecH
March 13, 2024, 2:02pm
5
# cat /etc/angie/angie.conf |grep -v "^$\|^#"
user angie;
worker_processes auto;
worker_rlimit_nofile 65536;
error_log /var/log/angie/error.log notice;
pid /run/angie.pid;
events {
worker_connections 65536;
}
load_module modules/ngx_http_dav_ext_module.so;
http {
include /etc/angie/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format extended '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" rt="$request_time" '
'"$http_user_agent" "$http_x_forwarded_for" '
'h="$host" sn="$server_name" ru="$request_uri" u="$uri" '
'ucs="$upstream_cache_status" ua="$upstream_addr" us="$upstream_status" '
'uct="$upstream_connect_time" urt="$upstream_response_time"';
access_log /var/log/angie/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/angie/http.d/*.conf;
}
# systemctl restart angie.service
Job for angie.service failed because the control process exited with error code.
See "systemctl status angie.service" and "journalctl -xeu angie.service" for details.
# journalctl -xeu angie.service
Mar 13 23:00:26 cloud02 angie[1923401]: angie: [emerg] "load_module" directive is specified too late in /etc/angie/angie.conf:13
Mar 13 23:00:26 cloud02 systemd[1]: angie.service: Control process exited, code=exited, status=1/FAILURE
Не помогает
VecH
March 13, 2024, 2:03pm
6
перенес выше events
помогло
li
March 13, 2024, 2:03pm
7
Обратите внимание, пожалуйста: в моём сообщении директива load_module
находится выше блока events
.
VecH
March 13, 2024, 2:59pm
8
А есть аналог этого модуля для Angie
li
March 13, 2024, 3:08pm
9
Директива limit_rate позволяет ограничить скорость передачи ответа клиенту в рамках одного запроса.
Модуля, аналогичного указанному, в репозитории Angie нет (полный список динамических модулей, представленных в репозитории: динамические модули )