태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

최근 발표된 JDK 6.0을 설치한 Windows PC에서 Tomcat을 서비스로 등록하여 시작하려고 하면 문제가 발생하는 경우가 있다.
이 경우 Tomcat의 logs 디렉토리에서 jakarata_services_yyyymmdd.log 파일을 열어보면 다음과 같은 에러 메시지를 발견할 수 있다.

[2007-04-10 14:51:59] [174  javajni.c] [error] The specified module could not be found.
[2007-04-10 14:51:59] [947  prunsrv.c] [error] Failed creating java C:\Java\jdk1.6.0\jre\bin\server\jvm.dll
[2007-04-10 14:52:00] [1202 prunsrv.c] [error] ServiceStart returned 1

http://forum.java.sun.com/thread.jspa?threadID=5121172 에 가보면 같은 문제에 다한 논의가 있는데 Tomcat NT 서비스의 문제라기 보다는 JVM 6.0의 jni에 변경이 있는 것 같다고 한다.

아무튼 이 문제는 JVM이 설치된 디렉토리에서 msvcr71.dll을 찾아 \Windows\system32에 복사해 넣으면 간단히 해결된다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Alchemist™
호스팅 서비스를 이용하여 홈페이지를 운영하는 경우 트래픽 또한 한정된 자원이다.
자신의 웹페이지에서 이미지, 사운드, 동영상 등의 서비스를 이용하는 경우에야 관계 없지만 누군가 무단으로 외부에 있는 웹페이지에 자신의 이미지나 동영상 등의 파일을 포함시켜 사용하고 있다 기분이 나쁠 것이다.
이는 어찌보면 해당 파일과 트래픽을 2중으로 훔쳐가는 행위로 볼 수도 있다.
나의 경우에도 너그러운 마음으로 이해를 하려고 노력하지만 제한된 트래픽을 가진 호스팅 서비스인 관계로 할 수 없이 이를 막아야할 필요가 있다.

이와 같이 외부에서 내 웹서버의 파일을 도용하는 것을 막을 때 사용할 수 있는 방법이 .htaccess 파일을 이용한 무단 링크 방지법이다.

SetEnvIFNoCase Referer "hoonie.net" pass
#SetEnvIFNoCase Referer "^$" pass
<FilesMatch ".(asx|png|js|css|gif|jpg|jpeg|bmp)$">
Order deny,allow
deny from all
allow from env=pass
</FilesMatch>
SetEnvIf Cookie link=ok true
<FilesMatch ".(mid|asf|wma|wmv|mp3|ogg|wav|mpg|mpeg|avi|swf|zip|rar|pdf|exe)$">
Order Deny,Allow
Allow from env=true
Deny from all
</FilesMatch>

위와 같이 내용을 작성하여 '.htaccess' 라는 이름으로 자신의 웹 루트 디렉토리에 저장한다.
대충 보면 알겠지만 무단으로 외부에서 링크되는 것을 막고자하는 파일들의 확장자가  명시되어 있다.  만약 자신이 사용하는 파일들 중에 빠진 확장자가 있다면 다른 것들을 참고하여 추가하면 된다. 
물론 이 방법은 아파치 웹서버를 사용하는 경우에만 해당되며, 아파치 웹서버의 환경파일인 httpd.confAllowOverride 항목이 AllowOverride All 과 같이 설정되어 있어야 한다.
나의 경우 직접 httpd.conf 파일에 접근할 수는 없었지만 호스팅 업체에서 기본으로 설정되어 있어 .htaccess 파일만 작성해 주는 것으로 쉽게 적용할 수 있었다. 만약 설정이 안 되어 있다면 관리자에게 설정해 달라고 당당하게 요청하자.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Alchemist™