IIS FTP - 530 valid hostname is expected. 에러 해결법
FTP 530 에러 해결 (IIS용)
FTP를 설정하는 과정에서 일반적인 설정을 마쳤는데 530 valid hostname is expected. 에러를 나타내면서 접속이 되지 않는 경우가 발생하는 경우가 종종 생깁니다. 이미 제대로 구동중이던 FTP가 이런 에러를 나타내며 접속이 되지 않는 경우는 발생하지 않고, 일반적으로 새로 FTP 서버를 구축한 경우거나 기존에 FTP 서버의 설정을 건드린 경우에 발생을 합니다. 실제로 파일질라로 접속해 보면 서버에 연결주소 해석까지 하였으나 디렉터리 목록 조회를 하지 못하고 다음과 같이 나옵니다.
테스트를 위해 실제 주소를 사용하였습니다. 따라서 IP와 도메인등 관련된 부분은 블라인드 처리 하였습니다.
530에러 중 530 Valid hostname is expected. 에러는 호스트 네임 설정과 관련하여 잘못된 부분이나 오류가 있을 때 해당되는 에러 입니다. 대부분 이런 에러를 나타내는 경우 바인딩 설정을 살펴보시면 됩니다. 이번 포스팅에서 소개할 내용은 잘못된 부분을 수정하고 실제로 접속하는 과정까지 다뤄볼 예정입니다.
IIS 기준으로 설명을 드리는데, 대부분 530 valid hostname is expected. 에러는 IIS에서 발생하는 것으로 추측됩니다. 다른 웹서버에서도 같은 오류가 발생하는지 구글링 해보았으나 IIS 서버 사용자들이 겪는 문제같더군요.
먼저, 해당 FTP 의 바인딩 설정을 살펴봅시다.
혹시 이런 식으로 되어있지 않나요?
호스트 이름과 IP 주소를 동시에 사용하고 바인딩은 한개만 되어있는지 확인해보세요. 530 valid hostname is expected. 에러를 나타내는 경우 대부분이 이렇게 호스트 네임과 IP주소를 동시에 사용하고 있게끔 바인딩 설정이 되어 있을 겁니다.
이렇게 설정한 이유는 일반적으로 계정별로 다르게 FTP 접속 주소를 설정하거나 또는 FTP 전용 접속주소를 지정하고 싶어서 설정하는 경우가 대부분일 겁니다.
원인은 정확하게 알 수 없지만 IP주소와 호스트 이름을 동시에 설정하는 경우에 530 valid hostname is expected. 에러를 나타냅니다. 제 추측은 아래에 적어놓았지만 정확한 이유를 모르겠네요.
문제해결을 위해 아래와 같이 바인딩 설정을 변경하시면 됩니다. 아래처럼 바인딩 설정을 바꾼 것만으로 원활하게 접속이 됩니다.
위의 화면 처럼 호스트 이름이 들어간 주소 따로 IP만 들어있는 주소 따로 설정하면 접속이 원할하게 됩니다.
상세하게 각각의 바인딩 설정을 보면 이렇게 되어있습니다.
하나는 IP 주소만, 다른 하나는 호스트 네임만 설정합니다.
이 기능은 웹서버와 FTP 서버가 다른 경우 호스트 이름을 통해 하나의 도메인으로 묶기 위한 목적이 강합니다. 그렇기 때문에 기본적으로 접속할 IP 주소를 두고 여러개의 FTP 접속 주소를 생성할 수 있습니다. (단, 접속 디렉터리는 똑같습니다.)
참고로, 위와 같이 설정하는 경우 세가지 주소로 접속이 가능한데 접속 가능한 목록을 적어보면
1. 192.168.0.14
2. ftp.studyforus.com
3. studyforus.com
1, 2번은 바인딩으로 직접 설정한 주소이기 때문에 당연히 접속이 되어야 하지만 3번 처럼 루트도메인으로 접속이 되는 이유는 IIS에서 루트도메인 설정에서 192.168.0.14라는 IP주소가 도메인의 기본 A 레코드로 지정되었기 때문에 192.168.0.14 = studyforus.com 과 같은 역할을 합니다.
해당 내용은 IIS에서 와일드 카드 서브도메인 연결하기 편을 읽어보시면 이해하는데 조금 더 도움이 됩니다.
바인딩 설정을 다시 위와 같이 변경을 제대로 하였다면 접속에 이상이 없어야 합니다. 그럼 실제로 파일질라를 이용해 해당 FTP 사이트에 접속해보도록 하겠습니다. 아래 화면은 파일질라에서 FTP 접속 로그를 캡쳐해봤습니다.
위에 적었던 주소 3개중 아무 주소나 선택하여 접속을 하면 제대로 접속이 가능합니다.
530 valid hostname is expected. 에러를 해결하는 방법은 호스트헤더 따로 IP 주소 따로 바인딩을 설정하는 것으로 해결할 수 있습니다.
만약, 각각 다른 사용자 별로, 또는 다른 계정별로 FTP 접속 주소를 다르게 하고 싶은 경우 [개인서버구축] IIS에서 FTP 사용자별로 폴더 권한 지정하기 편을 읽어 보시고 사용자 격리를 이용해서 설정하는 것을 추천드립니다.
기회가 된다면 접속 주소를 달리해서 FTP 접속 폴더를 다르게 설정하는 법을 다뤄보도록 하겠습니다. (아직은 알아보고 있는 중입니다. ^^;;)
FTP 530 valid hostname is expected. 에러를 해결하였습니다. 가급적이면 하나의 IP에는 하나의 FTP 서버를 구동하는 것을 추천합니다.