当前位置: 首页 > ds >正文

nginx对webdav支持不好的解决办法

nginx虽然应用的很多,但是对webdav的支持非常差,一些方法不支持,目前网上最多的方法是安装nginx-dav-ext-module模块,项目地址nginx-dav-ext-module,这个模块安装以后确实能解决问题,但是仍然有nginx原生问题没有解决。

方案一:nginx-dav-ext-module

安装麻烦,要重新编译nginx,./configure &./make,保存nginx-dav-ext-module的文件夹还不能删,否则白搞了,最重要的是原生问题不能解决,即:

nginx和webdav模块同时使用时,不能显示隐藏文件夹!

nginx不管是用自带的webdav还是dav-ext-module模块,对于目录下的./隐藏文件夹,都无法显示,虽然是个小问题,但是确实有影响,例如joplin使用webdav同步时,joplin的资源文件都是放在 ./resource文件下,这个文件nginx和webdav不能显示出来,因此不能很好的同步,当然目前这套方案也有解决办法:

#557 (autoindex_show_hidden_files (autoindex feature option to show hidden files) – nginx

没有验证,确实不想做这么复杂的操作了,,,

有的人验证了webdav这么显示隐藏文件夹呢?

接下来是我用的方案二

方案二:使用第三方webdav应用,并用nginx反向代理

项目地址:hacdias/webdav: A simple and standalone WebDAV server.

项目支持的非常好,当然你也可以用其它的webdav服务端,比如flydav等,但是这个webdav比较轻量。

这个webdav跑起来以后,直接nginx反代,而且是用二级目录代理,直接上nginx配置:

    location /webdav/ {# 确保proxy_pass末尾有斜杠,以去除/webdav/前缀proxy_pass http://localhost:8080/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Authorization $http_authorization;proxy_method $request_method;proxy_http_version 1.1;proxy_request_buffering off;client_max_body_size 0;if ($request_method = OPTIONS) {add_header Access-Control-Allow-Origin "*";add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, MKCOL, COPY, MOVE, PROPFIND, OPTIONS";add_header Access-Control-Allow-Headers "Authorization, Content-Type";add_header Access-Control-Allow-Credentials "true";add_header Content-Length 0;add_header Content-Type text/plain;return 204;}}

配置二级目录代理太好了!

仅跑个应用,然后配置下nginx,不用去编译nginx,此方案非常简单,推荐!

http://www.xdnf.cn/news/8898.html

相关文章:

  • 人工智能100问☞第32问:什么是迁移学习?
  • Springboot怎么解决循环依赖
  • 如何使用pyinstaller打包python脚本?
  • Jetpack Compose 中更新应用语言
  • c++树状数组模板Fenwick (Binary Indexed) Trees
  • 基于TypeScript的全栈待办事项应用Demo
  • Day 19
  • 力扣HOT100之回溯:78. 子集
  • 【linux】systemct创建服务
  • 【C++】21. 红黑树的实现
  • 面试专栏04-SpringCloud
  • 相机内参 opencv
  • 基于Web组件实现随机抽奖
  • 云手机安卓12哪个好?掌派云手机安卓12系统上线,开启流畅体验新纪元
  • 指针数组和数组指针的区别
  • 华为OD机试真题—— 判断字符串子序列(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 【EcelVBA】系统学习 ActiveX 控件
  • 恒坤新材闯上市:利润受益于大额补贴,产能利用率低仍要募资扩产
  • OD 算法题 B卷【最长公共后缀】
  • C++修炼:哈希表的模拟实现
  • 【python实战】-- 选择解压汇总mode进行数据汇总20250525更新(篇幅2)
  • 塔能科技:以多元技术赋能全行业能耗节能转型
  • 力扣刷题(第三十七天)
  • Linux之概述和安装vm虚拟机
  • Oracle附加日志概述
  • Day 31 训练
  • 哪款云手机支持安卓12系统?掌派云手机-性价比之选
  • Threejs 透明模型渲染嵌套以及深度测试解决共存问题
  • 什么是ESLint?它有什么作用?
  • 10G/25G PCS only mode for CoaXPress Over Fiber