aws서버에 톰켓을 설치 후 manager화면 접속 시 아래와 같은 화면을 보는 경우가 있습니다.

위의 내용을 확인 해보면 2가지 내용으로 정리 할 수 있습니다.

 

1. manager페이지는 tomcat이 설치된 서버에서만 접속을 허용 하고 있다 해당 정보는 webapps/manager/META-INF 하위의 context.xml에 보면 있다.

2. tomcat7부터는 관리자 롤이 manager가 아니라 gui, jmx, script, status등 4개로 세분화 되어서 원하는 권한을 추가 해줘야 한다 그 설정은  tomcat-users.xml 파일에 하면 된다.

 

위의 2가지 내용 입니다. 로그인 후 페이지 접속을 하려고 하는데 에러가 나신다면 2번에 해당하는 거라

권한을 주시면 되는데 메니저 페이지 접속시 로그인을 물어보지 않고 바로 저 화면이 나온다면 aws서버와 다른 IP에서 접속을 시도 하기 때문제 발생되는 문제 입니다.

context.xml의 내용 중 

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

이 부분이 있는데 allow부분에 127.로 시작하는 로컬아이피만 접속 가능하게 설정 되어 있습니다.  접속을 추가 하고자 한다면 |xxx.xxx.xxx.xxx 으로 추가를 해주면 됩니다. 내용을 보니 정규식 형태로 추가도 가능한거 같습니다.

 

여기서 문제는 내가 고정 아이피면 해당 아이피 혹은 대역만 열어주면 되니 보안상 큰 문제가 되지 않을거 같습니다.

(그래도 가능하면 열지 않는게 좋습니다.) 유동IP라면 이렇게 허용 하시지 않는게 좋습니다. 필요한 설정만 하시고 내부 시스템에 젠킨스등의 배포 시스템을 설치하고 베포 시스템을 통해 배포를 진행 하길 권해 드립니다.

 

전 초기 설정만 진행하고 war배포 확인 후 젠킨스로 변경 했습니다.

반응형
Posted by 질주하는구
,

필터 작업 중 정상적으로 url적용 안되는 경우

(url패턴을 .do 에서 /으로 변경 하는 설정이 추가된 경우)

 

<servlet-mapping>
 <servlet-name>action</servlet-name>
 <url-pattern>/</url-pattern>
</servlet-mapping>

으로 url패턴을 변경하고 필터가 정상 동작 안하는 경우 

 

<filter-mapping>
 <filter-name>encodingFilter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

형식으로 url패턴을 작업 해줘야 합니다.

 

/ -> /*

반응형
Posted by 질주하는구
,

Ja

Pidlist


명령어를 통해서 컨테이너별 pid를 확인 할 수 있습니다.


반응형
Posted by 질주하는구
,

tomcat8 resource설정

WAS/tomcat 2017. 9. 13. 10:31

매니저 화면이 아닌 xml에서 관리 하는 경우


tomcat8 에서 jndi설정을 하는 경우 기존 tomcat과는 설정 위치가 다르기 때문에 

관련 내용을 정리한 url은 아래와 같습니다.


https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html


server.xml에 등록되던 내용이 


context.xml 으로 이동하게 됩니다. resource 설정을 /tomcat/conf/context.xml에 등록하고 

해당  resource에 대한 사용 설정을 설치된 webapp의 /WEB-INF/web.xml에 등록 하는 구조로 변경 되었습니다.


[

context.xml

==> 

<Context>

    <!-- maxTotal: Maximum number of database connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to -1 for no limit.
         -->

    <!-- maxIdle: Maximum number of idle database connections to retain in pool.
         Set to -1 for no limit.  See also the DBCP documentation on this
         and the minEvictableIdleTimeMillis configuration parameter.
         -->

    <!-- maxWaitMillis: Maximum time to wait for a database connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded.  Set to -1 to wait indefinitely.
         -->

    <!-- username and password: MySQL username and password for database connections  -->

    <!-- driverClassName: Class name for the old mm.mysql JDBC driver is
         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
         -->

    <!-- url: The JDBC connection url for connecting to your MySQL database.
         -->

  <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxTotal="100" maxIdle="30" maxWaitMillis="10000"
               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/javatest"/>

</Context>


/WEB-INF/web.xml

==>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
  <description>MySQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
</web-app>

]

반응형
Posted by 질주하는구
,

웹로직 c:import 한글

WAS 2017. 2. 20. 12:41

웹로직 사용해서 작업시 c:import 할때 charEncoding="utf-8" 같은 인코딩 설정을 빼게 되면

한글이 다 깨지는 문제가 발생된다... 이 부분 반드시 추가

반응형
Posted by 질주하는구
,

weblogic을 이용해서 하이버네이트를 구동 하려 할때 hibernate-jpa 버전 문제로(2.0까지가 weblogic12c 지원 가능 범위인데 망할 큐브리드때문에 2.1로 올리고 매번 고생이다..) 서버 구동이 안되는 문제가 발생 되는

경우 


weblogic.xml에서 (10버전은 commEnv.sh 파일 수정 하던데... 12c는 그럴필요는 없는거 같다) 

<container-descriptor>

<prefer-application-packages>

<package-name>javax.persistence.*</package-name>

</prefer-application-packages>

</container-descriptor>

추가를 해주면 해당 패키가 실행 되는경우 무조건 web-inf/lib 를 보게 구동이 되게 된다.


간혹 <prefer-web-inf-classes>true</prefer-web-inf-classes> 이 설정 해도 된다는 이야기가 있는데

안되는 경우 위의 내용으로 해주면 된다.


2개를 혼용 하는건 안되고 2개중 원하는 걸로 작업 하면 된다.

prefer-web-inf-classes 설정은 서버 구동시 web-inf/lib 를 먼저 보라는 설정이다.

반응형
Posted by 질주하는구
,

weblogic.application.ModuleException: java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log


웹로직 작업시 해당 내용의 에러가 발생되는 경우 웹로직 기본 jar와 웹프로그램의 jar파일의 버전이

충돌이 나서 발생되는 문제로 웹프로그램의 버전을 웹로직과 동일하게 맞춰 주면 

정상적으로 동작 하게 됩니다.


jcl-over-slf4j

slf4j-api

slf4j-log4j12

가 대표적이며 그외 변경이 필요한 부분을 같이 변경 해주면 됩니다.

반응형
Posted by 질주하는구
,

weblogic utf8 한글처리

WAS 2017. 2. 14. 15:37

setDomainEnv.cmd 파일의 JAVA_PROPERTIES 에 -Dfile.encoding=UTF8 -Dfile.client.encoding=UTF8 추가


ex> set JAVA_PROPERTIES=%JAVA_PROPERTIES% -Dfile.encoding=UTF8 -Dfile.client.encoding=UTF8

반응형
Posted by 질주하는구
,

윈도우10에서 weblogic 으로 개발 할때 IPv6로 remote address가 넘어오는 문제가 생기면

setDomainEnv.cmd 파일의 JAVA_OPTIONS에 -Djava.net.preferIPv4Stack=true 옵션 추가


ex> set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true

위치는 워낙에 해당 파일에 관련 내용이 많아서 하위 


set JAVA_OPTIONS=%JAVA_OPTIONS% 설정 부분 바로 위로 정의 

반응형
Posted by 질주하는구
,

url관련 설정을 할때 http->https로 무조건 이동 시켜야 하는 경우 

아래와 같이 설정을 할 수 있습니다.

<VirtualHost *:80>

ServerName test.com

ServerAlias www.test.com

Redirect / https://www.test.com

</VirtualHost>


하지만 이런 방식 보다는 아래와 같이 rewrite엔진을 이용해서

<VirtualHost *:80>

RewriteEngine On

RewriteRule /.* https://www.test.com

</VirtualHost>

하는 방법이 더 좋을거 같습니다. 이 경우 설정을 이용해서 특정 경로는 예외 처리를 할 수 있습니다.


<VirtualHost *:80>

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/nohttps/.*$

RewriteRule /.* https://www.test.com

</VirtualHost>

이런 식으로 /nohttps/ 라는 경로가 들어간 요청의 경우  https로 보내지 않고 노출 할 수 있습니다.

반응형

'WAS > apache' 카테고리의 다른 글

아파치 심볼릭(alias)설정  (0) 2015.04.13
apache method 설정  (0) 2015.03.04
Posted by 질주하는구
,