인프런 커뮤니티 질문&답변

corp.starcoex님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

13-이미지 업로드 프로세스

ftp 서버 문의 입니다

해결된 질문

작성

·

286

0

 안녕하세요.
우분투 서버에서 ftp 서버을 사용하고 있습니다.

nestjs-ftp 을 사용해서 다운로드 하면 upload, download는 가능한데(우분투 서비 컴퓨터에) upload만한 위치 주소만 링크를 시키고 싶은데 안됩니다.

aws같이 다운로드 url주소만 가져올수 있는 방법이 있을까요?

frontend에서 이미지를 등록을 할려고 하니 url주소가 없어서 등록이 안됩니다.

aws을 사용할려고도 생각해 보았으나 사진이 많이 업로드 되어야 해서 비용적인 부담이 있습니다.

답변 2

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! corp.starcoex님!

nestjs에서 ftp를 사용하고 계시는군요!(보안상 ftp보다는 sftp를 권장드립니다)

그렇다면, nestjs에 rest-api를 하나 만들어야 할 것 같아요!
이 api는 ftp-server에서 사진을 받아서 전달해주는 api가 되면 되겠죠?!
해당 api를 만들어 주시고 컨트롤러에 등록해 보세요!^^

만약 다이렉트로 ftp-server에 접속하여 다운로드를 원하신다면, 파일질라 등의 ftp-client 프로그램을 사용하시면 될 것 같네요!^^

0

안녕하세요, 인프런 AI 인턴입니다.
corp.starcoex님, 질문해 주셔서 감사합니다.

AWS를 사용하지 않고 우분투 서버에서 FTP 서버를 통해 파일을 업로드한 후, 해당 파일의 다운로드 URL을 제공하는 것에 대해 문의하신 걸로 이해했습니다. FTP 서버 자체는 파일을 전송하는 용도로 사용되며, 일반적으로 FTP 클라이언트를 통해서만 접근 가능합니다. 즉, 파일의 접근에는 FTP 클라이언트나 호스트 운영체제의 지원이 필요합니다.

특정 파일에 직접 웹으로 접근 가능한 URL을 제공하려면 웹 서버가 필요합니다. 이를 위해서는 다음과 같이 여러 방법이 있습니다:

  1. 자체 웹 서버 설정: 우분투 서버에 웹 서버 소프트웨어(예: Apache, Nginx)를 설정하고, FTP를 통해 업로드된 파일이 웹 서버의 특정 디렉토리(예를 들어 public_html) 안에 위치하도록 합니다. 이렇게 하면 파일에 대한 웹 URL을 생성하여 사용할 수 있습니다.

  2. 정적 파일 호스팅 서비스 사용: AWS와 같은 클라우드 서비스의 정적 파일 호스팅 기능을 사용합니다. 예를 들어, S3 버킷을 사용하면 비용을 최소화할 수 있는 정책을 구성하고, 업로드한 파일에 대한 공개적으로 접근 가능한 URL을 생성할 수 있습니다.

  3. 객체 스토리지 서비스: AWS S3뿐만 아니라 다른 클라우드 제공업체의 객체 스토리지 서비스를 사용할 수도 있습니다. 이들 서비스는 종종 S3와 유사한 API를 제공하므로 마이그레이션이 간단할 수 있습니다.

이미 말씀해주신 것처럼, 클라우드 서비스의 비용 문제가 있으므로, 비용이 적게 드는 대안을 찾거나, 필요한 만큼만 서비스를 사용해 비용을 최소화하는 방안을 모색할 수 있습니다.

추가로 파일 서버의 보안, 접근 관리, 백업 등 운영적인 측면도 고려해야 합니다. 특히 외부에 노출되는 서비스의 경우 보안 설정에 주의를 기울여야 합니다.

도움이 되셨기를 바라며, 추가적인 질문이나 지원이 필요하시면 문의해 주세요.