1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[FEATURE] 期望 openresty 能集成webdav功能。

Open lifei6671 opened this issue 1 year ago • 6 comments

1Panel 版本

v1.10.6-lts

请描述您的需求或者改进建议

需要通过penresty代理内网的webdav服务,在之前的老版本是可以通过集成 nginx-extras 扩展来实现支持webdav,但是更新到最新版本后这个扩展不生效了。

请描述你建议的实现方案

No response

附加信息

No response

lifei6671 avatar May 05 '24 13:05 lifei6671

是想支持重新编译 OpenResty 然后增加 nginx-extras 扩展吗?

zhengkunwang223 avatar May 06 '24 02:05 zhengkunwang223

是想支持重新编译 OpenResty 然后增加 nginx-extras 扩展吗?

是希望能够支持webdav,在之前的openresty镜像中是可以通过这个扩展实现支持的,后来1panel官方自己打包了镜像,在用这个扩展就没办法实现了。

lifei6671 avatar May 06 '24 07:05 lifei6671

商店里最新版的openresty应该是只包含了http_dav_module,没有--add-module=../nginx-dav-ext-module。 “用户自己添加编译参数”这个功能感觉要等挺久的,可以先把这个--add-module=../nginx-dav-ext-module先加上去么

下面是终端里查到的编译信息。

# openresty -V
nginx version: openresty/1.21.4.3
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
built with OpenSSL 1.1.1w  11 Sep 2023
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl/include' --add-module=../ngx_devel_kit-0.3.2 --add-module=../echo-nginx-module-0.63 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.33 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.09 --add-module=../srcache-nginx-module-0.33 --add-module=../ngx_lua-0.10.25 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.34 --add-module=../array-var-nginx-module-0.06 --add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.9 --add-module=../rds-json-nginx-module-0.16 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.13 --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl/lib -Wl,-rpath,/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl/lib' --with-pcre --with-compat --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --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_xslt_module=dynamic --with-ipv6 --with-mail --with-mail_ssl_module --with-md5-asm --with-sha1-asm --with-stream --with-stream_ssl_module --with-threads --with-pcre-jit --with-stream --with-stream_ssl_preread_module

2mhk avatar May 24 '24 07:05 2mhk

商店里最新版的openresty应该是只包含了http_dav_module,没有--add-module=../nginx-dav-ext-module。 “用户自己添加编译参数”这个功能感觉要等挺久的,可以先把这个--add-module=../nginx-dav-ext-module先加上去么

下面是终端里查到的编译信息。

# openresty -V
nginx version: openresty/1.21.4.3
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
built with OpenSSL 1.1.1w  11 Sep 2023
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl/include' --add-module=../ngx_devel_kit-0.3.2 --add-module=../echo-nginx-module-0.63 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.33 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.09 --add-module=../srcache-nginx-module-0.33 --add-module=../ngx_lua-0.10.25 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.34 --add-module=../array-var-nginx-module-0.06 --add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.9 --add-module=../rds-json-nginx-module-0.16 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.13 --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/usr/local/openresty/pcre/lib -L/usr/local/openresty/openssl/lib -Wl,-rpath,/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl/lib' --with-pcre --with-compat --with-file-aio --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --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_xslt_module=dynamic --with-ipv6 --with-mail --with-mail_ssl_module --with-md5-asm --with-sha1-asm --with-stream --with-stream_ssl_module --with-threads --with-pcre-jit --with-stream --with-stream_ssl_preread_module

直接换成caddy了,配置简单,还能自动管理ssl证书。

lifei6671 avatar May 24 '24 08:05 lifei6671

+1,要是不行的话我也准备换了

hxp0618 avatar Jun 07 '24 06:06 hxp0618

更新一个webdav功能性测试工具 litmus,https://github.com/notroj/litmus litmus 使用 apt install 可以直接安装,下面的代码中 https://xxx.xxx.com/ 是webdav的url,user为账户名,password为密码 webdav的docker后端可以用 https://hub.docker.com/r/bytemark/webdav

apt install litmus
litmus -k https://xxx.xxx.com/ user password

测试预期: 直接访问docker端口的测试结果 与 openresty反代后的测试结果 一致。

测试结果: 1panel提供的openresty用来反代webdav都存在功能性缺失。

由于openresty占了80,443端口,导致想用webdav的话,就不能用1panel自带的网站功能。 相比而言,Nginx Proxy Manager 可以全功能反代。不用楼上所说的caddy的话,Nginx Proxy Manager应该是当前最好的替代方案了,但跟1panel配合起来的话,很多地方实际使用还是非常不方便。

@wanghe-fit2cloud

2mhk avatar Aug 11 '24 15:08 2mhk