Nginx搭建Webdav服務(wù)的方法步驟
一、 自簽名根證書
1. 生成根證書密鑰
openssl genrsa -out ./root.key 2048
2. 生成根證書
openssl req -x509 -new -key ./root.key -out ./root.pem -days 365 交互信息 Country Name (2 letter code) []:CN State or Province Name (full name) []:HeNan Locality Name (eg, city) []:HZG Organization Name (eg, company) []:www.hzg.com Organizational Unit Name (eg, section) []:HZG Common Name (eg, fully qualified host name) []:HZG Email Address []:123456789@qq.com
二、生成應(yīng)用證書
1. 生成應(yīng)用證書密鑰
openssl genrsa -out webdav.key 2048
2. 生成應(yīng)用證書請求
openssl req -new -key webdav.key -out webdav.csr
3. 創(chuàng)建證書附加用途文件
基于域名的證書
這里解決的問題是瀏覽器訪問網(wǎng)頁驗證證書域名的問題,保存為 webdav.ext 文件,生成證書的時候使用
基于域名的證書 keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth subjectAltName=@SubjectAlternativeName [ SubjectAlternativeName ] DNS.1=hzgwebdav.com DNS.2=*.hzgwebdav.com 基于IP的證書 keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth subjectAltName=@SubjectAlternativeName [ SubjectAlternativeName ] IP.1=192.168.0.1 IP.2=192.168.0.2
4. 簽發(fā)證書
openssl x509 -req -in webdav.csr -CA root.pem -CAkey root.key -CAcreateserial -out webdav.crt -days 365 -sha256 -extfile webdav.ext
三、Nginx 部署 Webdav 服務(wù)
1. 生成 Webdav 用戶密碼文件
echo hzg:$(openssl passwd -crypt 12345678)>/path/certs/webdav/webdavpasswd
2. Nginx WebDav 配置
注意 Nginx 需要安裝以下模塊
nginx-dav-ext-module ngx_http_headers_module dav_ext_lock_zone zone=davlock:10m; # Http 配置 server { listen 8080; server_name hzgwebdav.com *.hzgwebdav.com; location / { root /path/webdav; autoindex_localtime on; set $dest $http_destination; if (-d $request_filename) { # 對目錄請求、對URI自動添加"/" rewrite ^(.*[^/])$ $1/; set $dest $dest/; } if ($request_method ~ (MOVE|COPY)) { # 對MOVE|COPY方法強制添加Destination請求頭 more_set_input_headers 'Destination: $dest'; } if ($request_method ~ MKCOL) { rewrite ^(.*[^/])$ $1/ break; } client_body_temp_path /tmp; dav_methods PUT DELETE MKCOL COPY MOVE; # DAV支持的請求方法 dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK; # DAV擴展支持的請求方法 dav_ext_lock zone=davlock; # DAV擴展鎖綁定的內(nèi)存區(qū)域 create_full_put_path on; # 啟用創(chuàng)建目錄支持 dav_access user:rw group:r all:r; # 設(shè)置創(chuàng)建的文件及目錄的訪問權(quán)限 auth_basic "Authorized Users WebDAV"; auth_basic_user_file /path/certs/webdav/webdavpasswd; } } # Https 配置 server { listen 443 ssl; server_name hzgwebdav.com *.hzgwebdav.com; autoindex on; ssl_certificate "/path/certs/webdav/webdav.crt"; ssl_certificate_key "/path/certs/webdav/webdav.key"; ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2 TLSv1.3 ; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling off; location / { root /path/webdav; autoindex_localtime on; set $dest $http_destination; if (-d $request_filename) { # 對目錄請求、對URI自動添加"/" rewrite ^(.*[^/])$ $1/; set $dest $dest/; } if ($request_method ~ (MOVE|COPY)) { # 對MOVE|COPY方法強制添加Destination請求頭 more_set_input_headers 'Destination: $dest'; } if ($request_method ~ MKCOL) { rewrite ^(.*[^/])$ $1/ break; } client_body_temp_path /tmp; dav_methods PUT DELETE MKCOL COPY MOVE; # DAV支持的請求方法 dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK; # DAV擴展支持的請求方法 dav_ext_lock zone=davlock; # DAV擴展鎖綁定的內(nèi)存區(qū)域 create_full_put_path on; # 啟用創(chuàng)建目錄支持 dav_access user:rw group:r all:r; # 設(shè)置創(chuàng)建的文件及目錄的訪問權(quán)限 auth_basic "Authorized Users WebDAV"; auth_basic_user_file /path/certs/webdav/webdavpasswd; } }
到此這篇關(guān)于Nginx搭建Webdav服務(wù)的方法步驟的文章就介紹到這了,更多相關(guān)Nginx搭建Webdav服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx關(guān)閉favicon.ico、robots.txt日志記錄配置
這篇文章主要介紹了nginx關(guān)閉favicon.ico、robots.txt日志記錄配置,同時提供了不允許訪問某些隱藏文件的配置方法,需要的朋友可以參考下2014-05-05Nginx出現(xiàn)403錯誤,應(yīng)該如何解決
這篇文章主要介紹了Nginx出現(xiàn)403錯誤,應(yīng)該如何解決?具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03Nginx流量同時轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā))
在需要同時將請求轉(zhuǎn)發(fā)至多個后端服務(wù)的場景中,Nginx的mirror模塊提供了流量鏡像分發(fā)的功能,本文就來介紹一下Nginx流量同時轉(zhuǎn)發(fā)多后端(流量鏡像分發(fā)),感興趣的可以了解一下2024-10-10網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制
如果你的服務(wù)器被攻擊很厲害,而且服務(wù)器是自己練手的,不需要其他用戶訪問的,那么就可以配置一下nginx的白名單,下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制的相關(guān)資料,需要的朋友可以參考下2022-07-07