'tomcat'에 해당되는 글 2건

  1. 2016.05.16 Tomcat Method 제한..
  2. 2013.10.25 Eclipse에서 Apache Tomcat 8080포트 사용중 문제..
Java2016. 5. 16. 21:29

Http Request에 GET과 POST는 아주 많이 사용하니 다들 알고 있을것이다.

그 외에 HEAD, OPTIONS, PUT등 여러 Method 들이 여럿 존재한다.

Tomcat을 설치하고 따로 설정을 해주지 않으면 모든 Method들을 사용 할 수 있다(맞나?)

이것을 제한하지 않으면 Method들을 이용하여 서버에 파일을 생성하는 공격이 들어 올수 있다고 한다.

Tomcat의 설정 하나로 원하는 Method만을 접근 가능하도록 할 수 있다.


<security-constraint>

    <web-resource-collection>

    <web-resource-name></web-resource-name>

    <url-pattern>/*</url-pattern>

    <http-method>HEAD</http-method>

    <http-method>OPTIONS</http-method>

    <http-method>PUT</http-method>

    <http-method>DELETE</http-method>

    <http-method>TRACE</http-method>

    <http-method>CONNECT</http-method>

    </web-resource-collection>

    <auth-constraint>

    <role-name></role-name>

    </auth-constraint>

  </security-constraint>


위의 코드를 현재 돌아가고 있는 서비스의 web.xml 제일 마지막 쯤에 적어주고 Tomcat을 재가동 시켜주면 된다.

http-method가 사용하지 않을 Method명을 적어주면 된다.


재가동 한뒤 제대로 설정이 됐는지 확인 하는 방법은..


$ telnet 200.100.70.50 80

Trying 200.100.70.50...

Connected to 200.100.70.50

Escape character is '^]'.

MOVE

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>403 Forbidden</title>

</head><body>

<h1>Forbidden</h1>

<p>You don't have permission to access /

on this server.</p>

<hr>

<address>Apache Server at <a href="mailto:webmaster@dummy-host2.example.com">kcacontents.kr</a> Port 80</address>

</body></html>

Connection closed by foreign host.


telnet 명령어로 설정한 서버 IP와 포트번호이 80을 입력하고..

Escape Character is라는 문구가 나오고 커서가 껌벅껌벅 할때..

접근 제한을 한 Method 명을 적어 넣으면 된다.

아마도 막혀 있다면 위와 같은 문구가 나오겠지..아마 맞을거야..

아니면 지적 해주시길..

Posted by Z700zZz
개발2013. 10. 25. 15:33

Eclipse에서 Apache Tomcat을 돌리다보면 서버를 올렸다가 내렸다가를 자주 한다.

그러다보면 갑자기 8080포트가 사용중이라는 그런 메세지를 나타내면 서버가 시작되지 않는 경우가 있다.

분명 로컬에서는 8080포트를 Apache Tomcat에서만 사용중인데 이게 어떻게 된 일일까.

아마도 이문제는 톰캣이 제대로 종료 되지 않으면서 발생하는 문제인것 같다.

그러면 문제를 어떻게 해결해야 할까.

컴퓨터를 재시작하면 된다..하지만 이런 문제가 있을경우 매번 재시작을 할수는 없겠지.

해결책은 톰캣 프로세스를 종료하면 된다.

톰캣 프로세스를 확인하고 종료하는 방법을 안다면 밑에 방법은 안봐도 된다.

방법은 아래와 같다.


1. 8080포트 사용 확인 명령어


netstat -an | grep 8080


2. 톰캣 사용중 확인 명령어


ps -ef | grep tomcat


3. 톰캣 프로세스 종료 명령어


kill -9 [프로세스번호]


위를 실행하고 Apache Tomcat을 재시작해보면 정상적으로 작동이 된다.

Posted by Z700zZz