배우고 익힘/서버

Nginx 서버에 설치한 webWAV 접속하기

White smoke 2022. 2. 19. 02:46

Nginx 서버에 webDAV를 설치하는 방법은 무수히 많이 나온다.

nginx를 이용하여 WedDav 사용하기 (tistory.com)

 

nginx를 이용하여 WedDav 사용하기

클라우드에 올릴 웹 FTP 서비스를 구축하기 위해 시도한것. putty를 사용한 Linux환경 1. nginx의 풀버전 설치 sudo apt install nginx nginx-full 2. WebDav를 실행할 디렉토리 생성 및 권한설정 sudo mkdir /var..

sillutt.tistory.com

NGINX WebDAV 설정 방법 - 익스트림 매뉴얼 (extrememanual.net)

 

NGINX WebDAV 설정 방법 - 익스트림 매뉴얼

WebDAV(Web Distributed Authoring and Versioning)는 http를 이용해 웹서버에 저장되어 있는 파일을 여러 사용자가 편집하기 위해 고안된 프로토콜입니다. 실제로는 FTP 대용으로 많이 사용되고 있으며 운영체

extrememanual.net

위 두 분의 블로그를 잘 이용하면 크게 어려움 없이 설치가 가능하다.

문제 발생1

서버 설정 할 때 적어놓은 "dav_ext_methods PROPFIND OPTIONS;" 부분이 계속 오류가 발생했다. 왜 오류가 나는건지 알 수가 없었다. 삽질을 몇 시간동안 하면서 다른 사람들의 방법을 따라해도 계속 안된다.

해결방법

삽질 중 과거 버전의 Nginx 글에서 해당 버전에는 webDAV 기능이 없기 때문에 webDAV 관련 추가 모듈을 별도로 설치해야 한다는 내용을 찾았다. 나는 최신 버전의 nginx를 깔았는데? 하면서 더 삽질을 하다보니까 풀버전을 깔아야 한댄다. 내가 무슨 버전을 깔았는지 어떻게 알지? 위에 링크한 한 분이 어떻게 보는지 방법을 알려주셨다. 아.. Varins 님을 따라서 서버를 설치할 때 나는 풀버전을 설치한 게 아니었다. 

sudo apt install nginx  //내가 설치한 버전. 알고보니 그냥 버전을 설치했었다.
sudo apt install nginx nginx-full //이게 풀버전. 근데 nginx가 두 번 들어가 있으니 nginx-full만 설치하면 되는거 아닌가 싶다.

풀버전을 설치해서 그런건가? 갑자기 접속이 되어버렸다. 클라이언트 쪽에서 브라우저를 통해 주소를 입력하니 딱하고 뜨는 것이었다. 삽질의 시간이 길었던만큼 희열을 느꼈다.

문제2

두 번째 문제가 발생했다. 브라우저에서는 다운로드만 가능했다. 나는 윈도우 탐색기에서 폴더처럼 쓰려고 이걸 설치했기 때문에 네트워크 위치 추가를 하려고 했다. 그런데 자꾸 주소를 입력하면 "입력한 폴더가 올바르지 않습니다. 다른 폴더를 선택하십시오."라는 오류가 떴다. 브라우저에서는 되는데 탐색기에서는 왜 안되는가.

해결방법

누가 RaiDrive라는 것을 추천해줬다. 오 한 번 깔아봤다. 신기하게 알아서 윈도우 탐색기에 네트워크 폴더같은 걸 만들어냈다. 오메... 주소로 접속이 안되는데 얘는 어떻게 만들어낸거지? 역시 천재들인가 싶었다.

그런데 문제가 또 발생. 왜 나는 업로드는 안되고 다운로드만 되는 것인가... 보니까 무료 버전이 있고 유료버전이 있었다. 돈내고 더 비싼 버전을 쓰라는건가..

Cyberduck이라는 걸 발견했다. 업로드, 다운로드가 모두 정상동작하는 걸 확인했다. 오오. 이건 근데 그냥 프로그램이라서 일을 하면서 사용하기에는 불편할게 뻔했다. 윈도우 탐색기에 떠야만 했다.

그러다가 발견한 블로그가 답을 주었다. Windows 10 - webdav 하위 폴더 연결 : 네이버 블로그 (naver.com) 만세만세 만만세. 네트워크 위치를 입력할 때 요상한 방식으로 적어야만 했구나... 연결되는 걸 확인했고, 이제 정상적으로 사용할 수 있게 되었다.

레지스트리 수정과 네트워크 위치를 적을 때 잘 적어야하는 것이었다.

  1. \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 이동
  2. BasicAuthLevel의 값을 1에서 2로 수정한다.
  3. FileSizeLimitInBytes의 값을 겁나 크게 한다. 알아서 최대값으로 수정됨.
  4. 여기까지 했는데 접속이 안되는 경우 아래의 방법을 추가한다.

    편집 > 새로만들기 > 다중문자열 >AuthForwardServerList 라는 항목을 만든다. > 내용에 접속하고자 하는 주소를 작성한다. (예:https://aaa.bbbb.ccc/webdav)
  5. 네트워크 위치 추가 > 주소를 적을 때 레지스트리에 추가한 https://xxx.xxxx.xxx/webdav을 그대로 적으면 접속이 안되고 \\aaa.bbbb.ccc@80\webdav 식으로 적어야 한다. /가 아닌 \로 적어야하고, 포트번호는 :이 아니라 @로 적어야한댄다.

그렇게 다시 새벽의 시간이 한참 지났다.


edit1. 추가 문제 발생

재부팅을 하고나니 다시 접속이 안되는 현상이 발생했다. 윈도우탐색기에 드라이브는 표시가 되는데 네트워크 연결 상태를 상실했다. 다시 접속을 시도해도 안된다.

왜 그런가 또 삽질을 하다보니 내 컴퓨터 쪽(클라이언트)의 방화벽이 문제일 수 있다고 한다. 까다로운 녀석이 일도 잘하는군. 아래의 블로그를 참고하니 접속이 잘 되었다.

원격 제어가 갑자기 안될 때 - 3389 포트개방 :: Study For Us (tistory.com)

 

원격 제어가 갑자기 안될 때 - 3389 포트개방

원격 접속을 위한 방화벽 관리 원격 접속은 활요하면 아주 유용한 클라우드 시스템이 될것이고, 모르면 또 모르는 대로 나름 유용하게 사용하는 기능 중 하나 입니다. 서버를 운영하다 보면 원

studyforus.tistory.com

 

edti2. 추가 문제2

재부팅하니 또 접속 안되는 현상 발생... 하... 그냥 VPN연결해서 삼바로 쓰는 게 최선인가..

또 삽질하다가 해결책 발견.

CLI 커맨드 입력으로 가능하댄다.

net use * https://my-domain.com

바로 로그인 아이디와 암호를 입력하라고 나오더니 윈도우 탐색기에 짠하고 떴다. ㅎㄷㄷㄷ 이제 남은 숙제는 어떻게 재부팅해도 계속 연결을 유지할것이냐....

만약에 시스템 에러 67이 나오면 아래의 주소의 트러블 슈팅을 따른다. 나는 보니깐 netclient service가 수동으로 되어있었고 정지된 상태였다. 다시 서비스를 시작하니깐 정상 동작함.

https://docs.microsoft.com/en-us/iis/publish/using-webdav/using-the-webdav-redirector

 

Using the WebDAV Redirector

Introduction Microsoft has created a new WebDAV extension module that has been completely rewritten for Windows Server® 2008 and Windows Server 2008 R2. This...

docs.microsoft.com

 

남은 문제는 이제 마운트 된 폴더에서 다운로드만 되고 업로드가 되지 않는 현상인데... 왜 자꾸 동일한 파일이 있다고 하면서 업로드가 안되는건가.