
웹사이트를 한 서버에서 다른 서버로 마이그레이션하려고 하는데 새 서버에 FTP 문제가 있습니다. 사이트에는 사내 소프트웨어에 의해 FTP에 의해 푸시된 콘텐츠가 있습니다. FTP를 사용하는 것은 매우 권장되지 않지만 당분간은 이 문제에 대해 선택의 여지가 없습니다. 나는 FTP를 충분히 훌륭하게 설정했으며 FileZilla, CyberDuck 및 ftp 터미널 클라이언트를 사용하여 파일을 성공적으로 전송할 수 있지만 우리 소프트웨어를 사용하면 로그인하고 네트워크를 사용할 때를 제외하고 매번 0바이트 파일을 생성하고 시간 초과(ETIMEDOUT)됩니다. 내 사무실. VPN을 통해, 집에서 등을 통해 4G 동글에서 이것을 실행했는데 실패합니다.
우리 소프트웨어에 사용되는 FTP 클라이언트는 다음과 같습니다.jsftp, 이는 수동 모드에서만 작동하므로 활성 모드로 전환하는 것은 불가능합니다. 소프트웨어는 macOS에서 실행됩니다.
이전 서버는 어느 위치에서나 잘 작동하며 pure-ftpd를 사용하는 MediaTemple 공유 데비안 시스템입니다. 이전하려는 새 서버는 Ubuntu 16.04를 실행하고 있으며 Google Cloud Platform에서 호스팅됩니다. 나는 vsftpd와 pure-ftpd를 모두 사용했습니다. 개인 계정에 설정된 다른 Google Cloud 서버를 사용해 보았으나 동일한 문제가 발생했습니다.
문제가 어디에 있는지 알 수 없습니다. 소프트웨어는 이전 서버에서 완전히 잘 작동하고 사무실에서 사용할 때 Google 서버에서도 완전히 잘 작동합니다. Google 서버는 다른 수많은 클라이언트에서도 액세스할 수 있으며 사무실에 있든 없든 상관없이 작동합니다. 이 특정 상황에 대해 온라인에서 아무것도 찾을 수 없으므로 어떤 아이디어라도 환영합니다.
답변1
파일이 0바이트이고 시간 초과되었다고 언급하셨습니다. 소프트웨어가 작성 중인 디렉토리의 파일 권한을 확인했습니까?
답변2
이 문제는 서버 측에서 해결되었습니다. FileZilla를 사용하면 소프트웨어를 통해 업로드할 수 없는 연결에서 "서버가 라우팅할 수 없는 주소로 수동 응답을 보냈습니다. 대신 서버 주소를 사용합니다."라는 메시지가 반환되는 것을 확인했습니다. 하지만 소프트웨어가 작동하는 연결에서는 이것을 얻을 수 없습니다.
그래서 서버의 IP 주소를 수동 모드(pure-ftpd의 ForcePassiveIP)로 설정했고 이제 의도한 대로 작동합니다.
답변3
GCP에서 VM을 가동할 때 방화벽 규칙을 업데이트해야 합니다.
- IN: TCP 20,21,60000-65535
- 출력: TCP 20,21,60000-65535
그런 다음 패시브 포트 범위 60000-65535를 사용하도록 FTP를 업데이트합니다. 그런 다음 클라이언트 측에서 Passive 모드를 사용하십시오. 세부 사항 및 지침 -http://sysadm.pp.ua/linux/proftpd-ubuntu-16-04.html