다른 분의 글을 보다보니, 'IP로 접속하지 못하게' 하는 문구가 보였습니다.
즉 서버 도메인으로는 접속을 하되, 서버 IP를 직접 입력해서 접속을 못하게끔 하라는 방법입니다.
구글에서 찾아보니 아파치에서는 allowoverride 부분을 주석처리 하고, allow from 에 운영중인 도메인을 입력하라는
게시글이 보이네요.
링크 : http://woosa.tistory.com/79
NGINX 의 경우는 어느 부분을 세팅해야, 서버 IP로 직접 접근하는것을 막을수 있을까요?
댓글 8
링크하신 소스는 좀 이상한데요. Allow from은 서버에 접속할 수 있는 사용자의 IP 주소를 제한하는 거지, 서버의 IP 주소나 도메인을 제한하는 기능이 아니거든요.
아파치든 nginx든 방법은 비슷합니다. <VirtualHost> 또는 server { } 설정을 2개 따로 만들어서 하나는 IP, 하나는 도메인으로 연결하는 거지요. 예를 들어...
server {
listen 80 default;
server_name 123.45.67.89;
root /var/www/html;
}
server {
listen 80;
server_name example.com www.example.com;
root /home/example/public_html;
# ... 그 밖의 사이트 설정 ...
}
이렇게 하면 example.com이나 www.example.com으로 접속한 경우 /home/example/public_html 폴더의 사이트를 보여 주고, IP 주소나 그 밖에 님이 지정하지 않은 도메인을 사용하려고 시도하면 default로 처리되면서 /var/www/html 폴더를 보여 줍니다. 물론 이 폴더에는 아무 것도 없거나 빈 페이지만 넣어 두어야겠지요.
답변 감사합니다.
마땅한 키워드가 생각나지 않고, 이리저리 검색을 해봐도 시원한 답변이 안나왔는데
조언 주셔서 정말 감사합니다.
폴더 대신 404 에러를 내려면 어떤 코드를 추가적으로 넣어야할까요?
root 구문을 빼고 return 404; 해버리면 됩니다. nginx 설정 포맷은 프로그래밍 언어와 비슷해요. 어떤 값을 반환하라고 하면 진짜로 반환합니다 ㅎㅎ
listen 80 default;
server_name 아이피 주소;
return 404;
}
요로케 하니까 잘 됩니다 ㅋㅋ