<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Wait a MIN IT</title>
    <link>https://pushstonez.tistory.com/</link>
    <description>&amp;quot;잠시만 기다려주세요 확인해보고 말씀 드리겠습니다.&amp;quot;하고 참고하기 좋은 블로그</description>
    <language>ko</language>
    <pubDate>Mon, 6 Jul 2026 20:45:56 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>minminit</managingEditor>
    <image>
      <title>Wait a MIN IT</title>
      <url>https://tistory1.daumcdn.net/tistory/5269260/attach/97f94059d42e4ed18b73e86a53a001d1</url>
      <link>https://pushstonez.tistory.com</link>
    </image>
    <item>
      <title>[JEUS] JeusServer.log에 Log4j 로그가 분리되지 않고 병합되어 쌓이는 경우</title>
      <link>https://pushstonez.tistory.com/69</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&lt;b&gt;이슈&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tomcat에서는 로그 파일이 생성되어 application 로그와 Jeus Container 로그가 분리되지만&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JEUS에서는 로그가 분리되지 않고 JeusSever.log 에 같이 쌓이는 현상&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&lt;b&gt;원인&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Log4j 로그는 JEUS 설정에서 관리하는 로그가 아님&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WEB-INF/Log4j2.xml 파일 확인 결과&lt;/p&gt;
&lt;pre class=&quot;dust&quot;&gt;&lt;code&gt;&amp;lt;Console name=&quot;console&quot; target=&quot;SYSTEM_OUT&quot;&amp;gt;
&amp;lt;PatternLayout pattern=&quot;${sys:FILE_LOG_PATTERN}&quot;/&amp;gt;
&amp;lt;/Console&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;XML 설정 내 Console 호출 부분에서 SYSTEM_OUT이 consoleAppender 형태로 호출되고 있음&lt;/p&gt;
&lt;h1&gt;ConsoleAppender vs FileAppender&lt;/h1&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;출력 위치&lt;/td&gt;
&lt;td&gt;콘솔 (System.out, System.err)&lt;/td&gt;
&lt;td&gt;지정한 파일로 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;목적&lt;/td&gt;
&lt;td&gt;개발/테스트용 (터미널에서 바로 보기)&lt;/td&gt;
&lt;td&gt;운영/배포용 (로그 파일 기록)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;특징&lt;/td&gt;
&lt;td&gt;서버 stdout 리다이렉트 설정에 영향 받음 (JEUS에서는 JeusServer.log로 빨려 들어갈 수 있음)&lt;/td&gt;
&lt;td&gt;독립된 파일로 안전하게 로그 기록 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;사용 용도&lt;/td&gt;
&lt;td&gt;개발 중 디버깅, 로컬 테스트&lt;/td&gt;
&lt;td&gt;운영 서버, 대용량 로그 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Tomcat 과 Jeus의 로그 구조 차이&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Tomcat : Catalina.out 파일로 system out/err만 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Jeus : JeusServer.log에 system out/err + JEUS 내부 로그 같이 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #1b711d;&quot;&gt;&lt;b&gt;해결&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ConsoleAppender 설정이 아닌 FileAppender 설정으로 변경 가이드&lt;/p&gt;
&lt;pre class=&quot;dust&quot;&gt;&lt;code&gt;&amp;lt;Appenders&amp;gt;
    &amp;lt;File name=&quot;FileLog&quot; fileName=&quot;/home/was/logs/application.log&quot;&amp;gt;
      &amp;lt;PatternLayout pattern=&quot;%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n&quot;/&amp;gt;
    &amp;lt;/File&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <category>MiddleWare/JEUS</category>
      <category>JEUS</category>
      <category>jeus로그분리</category>
      <category>log4j</category>
      <category>Was</category>
      <category>로그병합</category>
      <category>로그분리</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/69</guid>
      <comments>https://pushstonez.tistory.com/69#entry69comment</comments>
      <pubDate>Fri, 2 May 2025 15:43:16 +0900</pubDate>
    </item>
    <item>
      <title>[JEUS] java.net.UnknownHostException: jeus: 이름 혹은 서비스를 알 수 없습니다</title>
      <link>https://pushstonez.tistory.com/68</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ISSUE&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;java.net.UnknownHostException:&amp;nbsp;jeus:&amp;nbsp;이름&amp;nbsp;혹은&amp;nbsp;서비스를&amp;nbsp;알&amp;nbsp;수&amp;nbsp;없습니다&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CAUSE&amp;nbsp;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/etc/hosts 권한 문제 &amp;gt; /etc/hosts 파일 권한 확인&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;108&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nIWug/btsMWEokNQC/MYT4v22VZG5LjMUM9gUSZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nIWug/btsMWEokNQC/MYT4v22VZG5LjMUM9gUSZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nIWug/btsMWEokNQC/MYT4v22VZG5LjMUM9gUSZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnIWug%2FbtsMWEokNQC%2FMYT4v22VZG5LjMUM9gUSZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;484&quot; height=&quot;108&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;108&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1742885349602&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;cat /etc/hosts

cd /etc/hosts

ls -al | grep hosts&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;root Login&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;other 계정 read 권한 부여&lt;/p&gt;
&lt;pre id=&quot;code_1742885203142&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod 644 /etc/hosts&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;109&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LjfeG/btsMWmuEaUW/QHsy13UsmL0v7259xRfWik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LjfeG/btsMWmuEaUW/QHsy13UsmL0v7259xRfWik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LjfeG/btsMWmuEaUW/QHsy13UsmL0v7259xRfWik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLjfeG%2FbtsMWmuEaUW%2FQHsy13UsmL0v7259xRfWik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;468&quot; height=&quot;109&quot; data-origin-width=&quot;468&quot; data-origin-height=&quot;109&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>MiddleWare/JEUS</category>
      <category>JEUS</category>
      <category>unknownhostexception</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/68</guid>
      <comments>https://pushstonez.tistory.com/68#entry68comment</comments>
      <pubDate>Tue, 25 Mar 2025 15:49:26 +0900</pubDate>
    </item>
    <item>
      <title>[JEUS] DataInputStream.readFully 에러 해결 방법</title>
      <link>https://pushstonez.tistory.com/67</link>
      <description>&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;&amp;lt;&amp;lt;__Exception__&amp;gt;&amp;gt;
java.io.EOFException
	at java.io.DataInputStream.readFully(DataInputStream.java:197)
	at jeus.servlet.engine.WJPV1Registration.readRegstrationReply(WJPV1Registration.java:111)
	at jeus.servlet.engine.WebtoBConnectionManager.registerToWebtoB(WebtoBConnectionManager.java:239)
	at jeus.servlet.engine.WebtoBConnectionManager.createConnection(WebtoBConnectionManager.java:93)
	at jeus.servlet.connection.WebtoBConnector.run(WebtoBConnector.java:177)
	at java.lang.Thread.run(Thread.java:750)
&amp;lt;&amp;lt;__!Exception__&amp;gt;&amp;gt;
[2023.01.12 10:02:23][1] [cyedu1-180] [WEB-3456] Executing the servlet action failed.
&amp;lt;&amp;lt;__Exception__&amp;gt;&amp;gt;
javax.servlet.ServletException: java.lang.reflect.InvocationTargetException
	at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:905)
	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:834)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:786)
	at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:80)
	at jeus.servlet.engine.RequestDispatcherImpl.processCommonRequestDispatcher(RequestDispatcherImpl.java:475)
	at jeus.servlet.engine.RequestDispatcherImpl.include(RequestDispatcherImpl.java:572)
	at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160)
	at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:304)
	at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)
	at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:683)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:786)
	at jeus.servlet.engine.ServletWrapper.executeServlet(ServletWrapper.java:170)
	at jeus.servlet.engine.RequestDispatcherImpl.processCommonRequestDispatcher(RequestDispatcherImpl.java:475)
	at jeus.servlet.engine.RequestDispatcherImpl.include(RequestDispatcherImpl.java:572)
	at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:314)
	at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:171)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:786)
	at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:80)
	at jeus.servlet.engine.RequestDispatcherImpl.processCommonRequestDispatcher(RequestDispatcherImpl.java:475)
	at jeus.servlet.engine.RequestDispatcherImpl.include(RequestDispatcherImpl.java:572)
	at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:314)
	at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:171)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:786)
	at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:80)
	at jeus.servlet.engine.RequestDispatcherImpl.processCommonRequestDispatcher(RequestDispatcherImpl.java:475)
	at jeus.servlet.engine.RequestDispatcherImpl.doForward(RequestDispatcherImpl.java:392)
	at jeus.servlet.engine.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:369)
	at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241)
	at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222)
	at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)
	at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:106)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:670)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:690)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:644)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:627)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
	at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:112)
	at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:304)
	at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)
	at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:683)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:786)
	at jeus.servlet.engine.ServletWrapper.executeServlet(ServletWrapper.java:170)
	at jeus.servlet.filter.FilterChainImpl.internalDoFilter(FilterChainImpl.java:112)
	at jeus.servlet.filter.FilterChainImpl.doFilter(FilterChainImpl.java:86)
	at egovframework.com.sec.security.filter.EgovSpringSecurityLoginFilter.doFilter(EgovSpringSecurityLoginFilter.java:336)
	at jeus.servlet.filter.FilterChainImpl.internalDoFilter(FilterChainImpl.java:98)
	at jeus.servlet.filter.FilterChainImpl.doFilter(FilterChainImpl.java:86)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:155)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
	at jeus.servlet.filter.FilterChainImpl.internalDoFilter(FilterChainImpl.java:98)
	at jeus.servlet.filter.FilterChainImpl.doFilter(FilterChainImpl.java:86)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at jeus.servlet.filter.FilterChainImpl.internalDoFilter(FilterChainImpl.java:98)
	at jeus.servlet.filter.FilterChainImpl.doFilter(FilterChainImpl.java:86)
	at egovframework.com.cmm.filter.HTMLTagFilter.doFilter(HTMLTagFilter.java:35)
	at jeus.servlet.filter.FilterChainImpl.internalDoFilter(FilterChainImpl.java:98)
	at jeus.servlet.filter.FilterChainImpl.doFilter(FilterChainImpl.java:86)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at jeus.servlet.filter.FilterChainImpl.internalDoFilter(FilterChainImpl.java:98)
	at jeus.servlet.filter.FilterChainImpl.doFilter(FilterChainImpl.java:86)
	at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:145)
	at jeus.servlet.engine.RequestProcessor.run(RequestProcessor.java:235)
	at jeus.util.pool.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:1299)
	at jeus.util.pool.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:1343)
	at jeus.servlet.engine.WebThreadPoolExecutor$WebRequestWorker.run(WebThreadPoolExecutor.java:340)
	at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.reflect.InvocationTargetException
	at jeus.servlet.jsp.InstanceManagerImpl.injectToInstance(InstanceManagerImpl.java:68)
	at jeus.servlet.jsp.InstanceManagerImpl.newInstance(InstanceManagerImpl.java:43)
	... 118 more&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;java.io.EOFException&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;at java.io.DataInputStream.readFully&lt;/b&gt;(DataInputStream.java:197) at jeus.servlet.engine.WJPV1Registration.readRegstrationReply(WJPV1Registration.java:111) at jeus.servlet.engine.WebtoBConnectionManager.registerToWebtoB(WebtoBConnectionManager.java:239) at jeus.servlet.engine.WebtoBConnectionManager.createConnection(WebtoBConnectionManager.java:93) at jeus.servlet.connection.WebtoBConnector.run(WebtoBConnector.java:177)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;원인&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;JEUS WEBMain.xml&lt;/b&gt;의 &lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;lt;webtob-listener&amp;gt;- &amp;lt;thread-pool&amp;gt;의 min/max&lt;/span&gt; 값과&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;Webtob http.m&lt;/b&gt;의&lt;/span&gt; *SERVER절의 MinProc/MaxProc&lt;/span&gt;값이 다를 때 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;(http.m의 설정값이 더 크거나 같아야 함)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;519&quot; data-origin-height=&quot;213&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdK5xx/btsLsP6VKZB/eWEIwJVXCIZr0kuWnKV9T1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdK5xx/btsLsP6VKZB/eWEIwJVXCIZr0kuWnKV9T1/img.png&quot; data-alt=&quot;WEBMain.xml&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdK5xx/btsLsP6VKZB/eWEIwJVXCIZr0kuWnKV9T1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdK5xx%2FbtsLsP6VKZB%2FeWEIwJVXCIZr0kuWnKV9T1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;519&quot; height=&quot;213&quot; data-origin-width=&quot;519&quot; data-origin-height=&quot;213&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;WEBMain.xml&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cEnWDn/btsLsfkxBXo/5sRHTHK47Mk7t1RPfU9oyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cEnWDn/btsLsfkxBXo/5sRHTHK47Mk7t1RPfU9oyk/img.png&quot; data-alt=&quot;http.m&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cEnWDn/btsLsfkxBXo/5sRHTHK47Mk7t1RPfU9oyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEnWDn%2FbtsLsfkxBXo%2F5sRHTHK47Mk7t1RPfU9oyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1108&quot; height=&quot;59&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;http.m&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;</description>
      <category>MiddleWare/JEUS</category>
      <category>datainputstream.readfully</category>
      <category>eofexception</category>
      <category>jeus 장애</category>
      <category>jeus 튜닝</category>
      <category>readfully</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/67</guid>
      <comments>https://pushstonez.tistory.com/67#entry67comment</comments>
      <pubDate>Mon, 23 Dec 2024 15:51:11 +0900</pubDate>
    </item>
    <item>
      <title>[JEUS] JEUS Session 우선 순위 (session timeout)</title>
      <link>https://pushstonez.tistory.com/66</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;JEUS WEBMain 또는 Domain.xml file 에서 Session 설정 적용해도&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상적으로 적용되지 않는 경우가 발생한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;application에서 session timeout 을 설정하지 않았는지 확인해야 한다.&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세션 우선 순위 : &lt;span style=&quot;background-color: #f3c000;&quot;&gt;application setting &amp;gt; server setting&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;web.xml &amp;gt; webcommon.xml &amp;gt; WEBMain.xml&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[1순위]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/WEB-INF/web.xml&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;web-app&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;session-config&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&amp;lt;session-timeout&amp;gt;60&amp;lt;/session-timeout&amp;gt; [단위 : 분]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/session-config&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/web-app&amp;gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[2순위]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/WEB-INF/web.xml&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;${JEUS_HOME}/config/컨테이너명/엔진명/webcommon.xml&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;web-app&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;session-config&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&amp;lt;session-timeout&amp;gt;30&amp;lt;/session-timeout&amp;gt; [단위 : 분]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/session-config&amp;gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[3순위]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SERVLET_ENGINE/WEBMain.xml&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;web-container&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;context-group&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;session-config&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&amp;lt;timeout&amp;gt;30&amp;lt;/timeout&amp;gt; [단위 : 분]&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;shared&amp;gt;false&amp;lt;/shared&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/session-config&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/context-group&amp;gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;/web-container&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;326&quot; data-origin-height=&quot;93&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d7wB0P/btsLsAPrvAZ/rvo2jfeC9dq9WVVsdtUXnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d7wB0P/btsLsAPrvAZ/rvo2jfeC9dq9WVVsdtUXnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d7wB0P/btsLsAPrvAZ/rvo2jfeC9dq9WVVsdtUXnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd7wB0P%2FbtsLsAPrvAZ%2Frvo2jfeC9dq9WVVsdtUXnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;326&quot; height=&quot;93&quot; data-origin-width=&quot;326&quot; data-origin-height=&quot;93&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #000000; text-align: start;&quot;&gt;session-cookie = true&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f0f0f0; color: #000000; text-align: start;&quot;&gt;세션을 전달하는 세션 트래킹의 방법으로 쿠키를 사용할 때 세션을 쿠키로 전달할지를 설정한다.&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>MiddleWare/JEUS</category>
      <category>JEUS</category>
      <category>Session Timeout</category>
      <category>web.xml</category>
      <category>webamin.xml</category>
      <category>webcommon.xml</category>
      <category>webtob 설정</category>
      <category>세션타임아웃</category>
      <category>웹투비 타임아웃</category>
      <category>제우스 타임아웃</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/66</guid>
      <comments>https://pushstonez.tistory.com/66#entry66comment</comments>
      <pubDate>Mon, 23 Dec 2024 15:40:28 +0900</pubDate>
    </item>
    <item>
      <title>[JEUS] Context Path 설정하지 않을 경우 호출 경로 확인</title>
      <link>https://pushstonez.tistory.com/65</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;WAR 파일로 배포할 경우&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;JEUS에서 context path를 명시적으로 설정하지 않을 경우, 기본적으로 웹 애플리케이션의 WAR 파일 이름이 context path로 사용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;ex) example.war 파일로 배포된 애플리케이션의 경우, context path는 /example 이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;ROOT.war라는 이름으로 애플리케이션을 배포하면, 그 애플리케이션은 root context path, 즉 /에서 서비스되는데, 이럴 경우 웹 브라우저에 서버의 도메인 이름만 입력해도 해당 애플리케이션에 접근할 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;303&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbqk60/btsIu8NJC5k/jKrm6HzTDuL7WZANh98PgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbqk60/btsIu8NJC5k/jKrm6HzTDuL7WZANh98PgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbqk60/btsIu8NJC5k/jKrm6HzTDuL7WZANh98PgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcbqk60%2FbtsIu8NJC5k%2FjKrm6HzTDuL7WZANh98PgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;604&quot; height=&quot;303&quot; data-origin-width=&quot;604&quot; data-origin-height=&quot;303&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;467&quot; data-origin-height=&quot;368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/72beX/btsItjXEpEE/nkBVgGzZ79KpjrR390QRyK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/72beX/btsItjXEpEE/nkBVgGzZ79KpjrR390QRyK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/72beX/btsItjXEpEE/nkBVgGzZ79KpjrR390QRyK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F72beX%2FbtsItjXEpEE%2FnkBVgGzZ79KpjrR390QRyK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;467&quot; height=&quot;368&quot; data-origin-width=&quot;467&quot; data-origin-height=&quot;368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;app2.war 구성&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp; app2.war
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;app&amp;nbsp;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;test2.jsp&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1. 배포된 app2.war 의 파일 명인&amp;nbsp; 'app2' 가 context path로 설정됨&lt;br /&gt;2. app2.war 파일 내 app 디렉토리가 있고 하위에 test2.jsp가 있으므로 하위 경로까지 URL에 모두 입력하여 호출&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;259&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/o4ONt/btsIsMsptb0/aQK9KjWnRgLmG8WnuTRomk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/o4ONt/btsIsMsptb0/aQK9KjWnRgLmG8WnuTRomk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/o4ONt/btsIsMsptb0/aQK9KjWnRgLmG8WnuTRomk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fo4ONt%2FbtsIsMsptb0%2FaQK9KjWnRgLmG8WnuTRomk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;594&quot; height=&quot;259&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;594&quot; data-origin-height=&quot;259&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;디렉토리로 배포할 경우&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.war 파일이 아닌 디렉토리로 애플리케이션을 배포할 때, 그 디렉토리의 이름이 기본적으로 context path로 사용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ROOT라는 이름의 디렉토리를 사용하여 애플리케이션을 배포하면, 그 애플리케이션은 루트 경로 즉, /에서 접근 가능하게 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;636&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmmas2/btsItlHRsjA/CihQc6fAIPAqAgezJX5maK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmmas2/btsItlHRsjA/CihQc6fAIPAqAgezJX5maK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmmas2/btsItlHRsjA/CihQc6fAIPAqAgezJX5maK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbmmas2%2FbtsItlHRsjA%2FCihQc6fAIPAqAgezJX5maK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;835&quot; height=&quot;636&quot; data-origin-width=&quot;835&quot; data-origin-height=&quot;636&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;631&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biBCyg/btsIsZE4m42/qpML6iC4emCv0UKhK1SMkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biBCyg/btsIsZE4m42/qpML6iC4emCv0UKhK1SMkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biBCyg/btsIsZE4m42/qpML6iC4emCv0UKhK1SMkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiBCyg%2FbtsIsZE4m42%2FqpML6iC4emCv0UKhK1SMkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;631&quot; height=&quot;438&quot; data-filename=&quot;edited_blob&quot; data-origin-width=&quot;631&quot; data-origin-height=&quot;438&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>MiddleWare/JEUS</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/65</guid>
      <comments>https://pushstonez.tistory.com/65#entry65comment</comments>
      <pubDate>Wed, 10 Jul 2024 14:02:47 +0900</pubDate>
    </item>
    <item>
      <title>[WebtoB] Access / Deny 설정 | 특정 IP 허용, 차단 방법</title>
      <link>https://pushstonez.tistory.com/64</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; ACCESS / DENY 설정 &lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Client에서 접속을 시도할 때, 특정 IP address 나 newtork/netmask 들을 기준으로 요청에 대한 ACCESS/DENY를 설정할 수 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;요청 허용과 제한이 적용되는 순서 설정&lt;/li&gt;
&lt;li&gt;ACCESS 절은 DIRECTORY/URI/EXT/TCPGW 절에 적용될 수 있으며, 각각에서 정의한 리소스를 허용 또는 제어한다.&amp;nbsp;&lt;hr data-ke-style=&quot;style1&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;424&quot; data-origin-height=&quot;43&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcFfbk/btsIrOpohDg/Bs5NWaBEVMXC7MkJeCzj71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcFfbk/btsIrOpohDg/Bs5NWaBEVMXC7MkJeCzj71/img.png&quot; data-alt=&quot;예시&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcFfbk/btsIrOpohDg/Bs5NWaBEVMXC7MkJeCzj71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcFfbk%2FbtsIrOpohDg%2FBs5NWaBEVMXC7MkJeCzj71%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;424&quot; height=&quot;43&quot; data-origin-width=&quot;424&quot; data-origin-height=&quot;43&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;예시&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;ACCESS 절 추가&lt;/b&gt;&lt;/h2&gt;
&lt;pre class=&quot;nix&quot;&gt;&lt;code&gt;#WebtoB
vi http.m

#ACESS절 추가
*ACCESS
#특정 IP만 DENY, 그 외 모든 IP 허용
access1  Order = &quot;allow, deny&quot;, Allow = &quot;all&quot;
access2  Order = &quot;deny, allow&quot;, Deny = &quot;[IP 1],[IP 2]&quot;,Allow = &quot;[IP 1],[&quot;, 
access3  Order = &quot;allow, deny&quot;, Allow = &quot;211.1.1.0/255.255.255.0&quot;
access4  Order = &quot;deny, allow&quot;, Deny = &quot;211.1.1.30&quot;
access5  Order = &quot;allow, deny&quot;, Allow = &quot;all&quot;,Deny = &quot;211.1.1.30&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ACCESS 절은 Order 옵션의 순서에 따라 설정이 다르게 적용된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;allow, deny : Method&amp;gt; Allow&amp;gt; AllowIf&amp;gt; Deny&amp;gt; DenyIf 순서로 match 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;deny, allow : Method &amp;gt; Deny &amp;gt; DenyIf &amp;gt; Allow &amp;gt; AllowIf 순서로 match 한다.&lt;/p&gt;
&lt;pre class=&quot;nix&quot;&gt;&lt;code&gt;vi http.m

*ACCESS
access1  Order = &quot;allow, deny&quot;, Allow = &quot;all&quot;
access2  Order = &quot;allow, deny&quot;, Allow = &quot;211.1.1.10, 211.1.1.20&quot;
access3  Order = &quot;allow, deny&quot;, Allow = &quot;211.1.1.0/255.255.255.0&quot;
access4  Order = &quot;deny, allow&quot;, Deny = &quot;211.1.1.30&quot;
access5  Order = &quot;allow, deny&quot;, Allow = &quot;all&quot;,Deny = &quot;211.1.1.30&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;필수 옵션&lt;/td&gt;
&lt;td&gt;ACCESS name = &amp;lt;string&amp;gt;&lt;/td&gt;
&lt;td&gt;Access 절의 이름을 임의로 정할 수 있다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;선택 옵션&lt;/td&gt;
&lt;td&gt;Method = &amp;lt;literal&amp;gt;&lt;/td&gt;
&lt;td&gt;적용 할 HTTP 메소드를 설정한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MethodException = &amp;lt;literal&amp;gt;&lt;/td&gt;
&lt;td&gt;제외 할 HTTP 메소드를 설정한다.&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Order = &amp;lt;literal&amp;gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Default - &quot;Deny,Allow&quot;&lt;/td&gt;
&lt;td&gt;Allow, AllowIf, Deny, DenyIf, Method가 적용되는 순서를 설정한다 (하단 표 참조)&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Allow = &amp;lt;literal&amp;gt;&lt;/td&gt;
&lt;td&gt;요청이 허용되는 IP 주소나 network/netmask들을 설정&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deny = &amp;lt;literal&amp;gt;&lt;/td&gt;
&lt;td&gt;요청이 거절되는 IP 주소나 network/netmask들을 설정&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;GOTOEXT = Y 설정이 들어가 있는 경우&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GOTOEXT = Y 설정이 있는 경우, JEUS를 거치지 않고 바로 WebtoB로 요청을 처리하기 때문에 URI로 요청이 가지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 경우, 요청을 받는 해당 vhost에 rewrite 설정을 통하여 특정 IP에 대한 요청을 처리해야 한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;URLRewrite&lt;/li&gt;
&lt;li&gt;URLRewriteConfig&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;vi http.m

v_test          DOCROOT=&quot;/home/webtob5/webtob/docs/&quot;,
                HOSTNAME = &quot;mail.test.com&quot;,
                HOSTALIAS = &quot;192.168.40.137&quot;,
                PORT = &quot;80&quot;,
                ServiceOrder = &quot;uri,ext&quot;,
                ERRORDOCUMENT = &quot;403,404,503&quot;,
                METHOD = &quot;GET, POST, -HEAD, -OPTIONS&quot;,
                #Headers = &quot;gzip,cors_all&quot;,
                #Headers =&quot;security,X-XSS,X-Content,strict,X-Download&quot;,
                **URLRewrite = Y,
                URLRewriteConfig = &quot;$WEBTOBDIR/config/rewrite.conf&quot;,**
                LOGGING = &quot;acc_test&quot;,
                ERRORLOG = &quot;err_test&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;vi rewrite.conf

RewriteCond %{REQUEST_URI} !error ## 무한 redirect 방지
RewriteCond %{REMOTE_ADDR} ^139.xx.xx.132$ ##특정 ip 
RewriteRule . &amp;lt;https://xxx.go.kr/err/error.html&amp;gt; ##호출 url 페이지&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, IP가 139.xx.xx.132로 들어오는 요청에 대해 &lt;a href=&quot;https://hrd.seoul.go.kr/err/error.html&quot;&gt;https://xxx.go.kr/err/error.html&lt;/a&gt; errorpage로 redirect 시키겠다는 의미이다.&lt;/p&gt;</description>
      <category>MiddleWare/WebtoB</category>
      <category>access절</category>
      <category>apache</category>
      <category>DENY</category>
      <category>WebtoB</category>
      <category>webtob5</category>
      <category>웹투비 access</category>
      <category>웹투비5</category>
      <category>특정ip차단</category>
      <category>특정ip허용</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/64</guid>
      <comments>https://pushstonez.tistory.com/64#entry64comment</comments>
      <pubDate>Tue, 9 Jul 2024 09:52:54 +0900</pubDate>
    </item>
    <item>
      <title>[WebtoB] access log 포맷 종류 및 로그 확인 방법</title>
      <link>https://pushstonez.tistory.com/63</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;WebtoB는 Apache와 동일한 형식으로 로그를 기록하고 있으며 포맷도 동일하게 사용한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;WebtoB 로그 구분&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- syslog&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; WebtoB Engine에서 남기는 로그로 WebtoB의 이상 유무를 체크하여 로그로 남긴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 특이한 이상이 없는 한 많은 로그를 남기지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 일별로 생성되며 기본위치는 $WEBTOBDIR/log/syslog 이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- errorlog&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 클라이언트가 웹으로 접속하여 호출 시 에러가 발생하는 모든 uri 정보를 남긴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; 일별로 생성되며 기본위치는 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;$WEBTOBDIR/log/errorlog 이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;- accesslog&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; 클라이언트가 웹으로 접속 시 호출하는 모든 요청정보를 남긴다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; 요청이 많으면 파일크기가 상당히 커지므로 로그 관리에서 access log 관리가 가장 중요하다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;일별로 생성되며 기본위치는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;$WEBTOBDIR/log/accesslog이다.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;WebtoB 로그 포맷&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;webtob는 기본 로그 포맷으로 3가지 alias를 제공하고 있다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Default&lt;/li&gt;
&lt;li&gt;COMMON&lt;/li&gt;
&lt;li&gt;COMBINED&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보안 취약점 조치를 위해 WebtoB Access log의 포맷 변경이 필요할 경우 DEFAULT -&amp;gt; COMBINED로 변경하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2NQg5/btsHpwPXkuj/hTEK3X9lcEZKsNgg2adkHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2NQg5/btsHpwPXkuj/hTEK3X9lcEZKsNgg2adkHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2NQg5/btsHpwPXkuj/hTEK3X9lcEZKsNgg2adkHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2NQg5%2FbtsHpwPXkuj%2FhTEK3X9lcEZKsNgg2adkHk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;739&quot; height=&quot;229&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Default : [요청 IP] [요청처리를 완료한 시간] [&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;HTTP Request의 Request line 전체] [&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;HTTP Status Code] [헤더를 제외한 응답의 Byte] [요청 처리하는데 소요된 시간 ms]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;677&quot; data-origin-height=&quot;86&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/VTMtw/btsHnI5hkKq/pdkJqyRKLTnriE1Y83oqH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/VTMtw/btsHnI5hkKq/pdkJqyRKLTnriE1Y83oqH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/VTMtw/btsHnI5hkKq/pdkJqyRKLTnriE1Y83oqH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVTMtw%2FbtsHnI5hkKq%2FpdkJqyRKLTnriE1Y83oqH0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;677&quot; height=&quot;86&quot; data-origin-width=&quot;677&quot; data-origin-height=&quot;86&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style5&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;USERLOGFORMAT 설정&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WebtoB5 에서는 공통으로 사용될 로그 포맷을 설정할 수 있도록 *USERLOGFORMAT 절을 제공하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존 VHOST가 많을 경우에 동일한 포맷을 설정하고자 할 때 해당 *USERLOGFORMAT 절에 사용자가 로그 포맷을 설정하고 *LOGGING 절에서 해당 설정 포맷을 사용할 수 있도록 하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;perl&quot; style=&quot;background-color: #f6f6f6; color: #666666; text-align: left;&quot;&gt;&lt;code&gt;*LOGGING
log1        Format = &quot;format1&quot;, FileName = &quot;C:/TmaxSoft/WebtoB4.1.9.1/log/access.log&quot;,
            Option = &quot;sync&quot;
            ...
*USERLOGFORMAT
format1     Format = &quot;%h %l %u %t \&quot;%r\&quot; %s %b&quot; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>MiddleWare/WebtoB</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/63</guid>
      <comments>https://pushstonez.tistory.com/63#entry63comment</comments>
      <pubDate>Tue, 14 May 2024 09:53:34 +0900</pubDate>
    </item>
    <item>
      <title>[JEUS] JEUS / JAVA 버전 충돌  LOG 및 문제 해결</title>
      <link>https://pushstonez.tistory.com/62</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;JEUS 설치 JAVA 버전과 jeus.properties 내 JAVA 버전이 동일하지만&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;/etc/hosts에 설정된 IP 또는 hostname이 서버 IP 또는 Hostname 과 불일치&lt;/b&gt; 할 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;java.lang.ExceptionInInitializerError &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.tool.console.console.jeus.JeusJMXConsoleContext.onCreate(JeusJMXConsoleContext.java:261) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.tool.console.console.jeus.JeusJMXConsole.&amp;lt;init&amp;gt;(JeusJMXConsole.java:69) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.tool.console.console.ConsoleMain.main(ConsoleMain.java:8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;sun.reflect.NativeMethodAccessorImpl.invoke0(Native&amp;nbsp;Method) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.lang.reflect.Method.invoke(Method.java:498) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.server.Bootstrapper.callMainMethod(Bootstrapper.java:590) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.server.Bootstrapper.callMain(Bootstrapper.java:597) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.server.Bootstrapper.main(Bootstrapper.java:145) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.tool.console.ConsoleBootstrapper.main(ConsoleBootstrapper.java:11) &lt;br /&gt;Caused&amp;nbsp;by:&amp;nbsp;java.lang.NullPointerException &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;jeus.util.net.NetworkConstants.&amp;lt;clinit&amp;gt;(NetworkConstants.java:88) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;11&amp;nbsp;more&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;211&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Tj8B/btsGhYBQ0BL/vPaUE12btzVrgtMAzO6emk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Tj8B/btsGhYBQ0BL/vPaUE12btzVrgtMAzO6emk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Tj8B/btsGhYBQ0BL/vPaUE12btzVrgtMAzO6emk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Tj8B%2FbtsGhYBQ0BL%2FvPaUE12btzVrgtMAzO6emk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;847&quot; height=&quot;211&quot; data-origin-width=&quot;847&quot; data-origin-height=&quot;211&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;jeus.properties&amp;nbsp;내&amp;nbsp;JAVA버전이&amp;nbsp;JEUS&amp;nbsp;설치&amp;nbsp;버전보다&lt;b&gt;&amp;nbsp;낮을&lt;/b&gt;&amp;nbsp;경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Exception&amp;nbsp;in&amp;nbsp;thread&amp;nbsp;&quot;main&quot;&amp;nbsp;java.lang.UnsupportedClassVersionError:&amp;nbsp;jeus/server/Bootstrapper&amp;nbsp;:&amp;nbsp;Unsupported&amp;nbsp;major.minor&amp;nbsp;version&amp;nbsp;52.0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.lang.ClassLoader.defineClass1(Native&amp;nbsp;Method) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.lang.ClassLoader.defineClass(ClassLoader.java:808) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.net.URLClassLoader.defineClass(URLClassLoader.java:443) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.net.URLClassLoader.access$100(URLClassLoader.java:65) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.net.URLClassLoader$1.run(URLClassLoader.java:355) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.net.URLClassLoader$1.run(URLClassLoader.java:349) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.security.AccessController.doPrivileged(Native&amp;nbsp;Method) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.net.URLClassLoader.findClass(URLClassLoader.java:348) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.lang.ClassLoader.loadClass(ClassLoader.java:430) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:326) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;java.lang.ClassLoader.loadClass(ClassLoader.java:363) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at&amp;nbsp;sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgnBGr/btsGi2cpv5V/RezPSIoHwHGf68jpwP0Nsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgnBGr/btsGi2cpv5V/RezPSIoHwHGf68jpwP0Nsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgnBGr/btsGi2cpv5V/RezPSIoHwHGf68jpwP0Nsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgnBGr%2FbtsGi2cpv5V%2FRezPSIoHwHGf68jpwP0Nsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1057&quot; height=&quot;224&quot; data-origin-width=&quot;1057&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;jeus.properties&amp;nbsp;내&amp;nbsp;JAVA버전이&amp;nbsp;JEUS&amp;nbsp;설치&amp;nbsp;버전보다&lt;b&gt;&amp;nbsp;높을&lt;/b&gt;&amp;nbsp;경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-Djava.endorsed.dirs=/home/jeus8_1/jeus8_5/lib/endorsed&amp;nbsp;is&amp;nbsp;not&amp;nbsp;supported.&amp;nbsp;Endorsed&amp;nbsp;standards&amp;nbsp;and&amp;nbsp;standalone&amp;nbsp;APIs &lt;br /&gt;in&amp;nbsp;modular&amp;nbsp;form&amp;nbsp;will&amp;nbsp;be&amp;nbsp;supported&amp;nbsp;via&amp;nbsp;the&amp;nbsp;concept&amp;nbsp;of&amp;nbsp;upgradeable&amp;nbsp;modules. &lt;br /&gt;Error:&amp;nbsp;Could&amp;nbsp;not&amp;nbsp;create&amp;nbsp;the&amp;nbsp;Java&amp;nbsp;Virtual&amp;nbsp;Machine. &lt;br /&gt;Error:&amp;nbsp;A&amp;nbsp;fatal&amp;nbsp;exception&amp;nbsp;has&amp;nbsp;occurred.&amp;nbsp;Program&amp;nbsp;will&amp;nbsp;exit.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mWFWU/btsGipyWM8I/uJ0kZjReWLoggcSrjKgtN1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mWFWU/btsGipyWM8I/uJ0kZjReWLoggcSrjKgtN1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mWFWU/btsGipyWM8I/uJ0kZjReWLoggcSrjKgtN1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmWFWU%2FbtsGipyWM8I%2FuJ0kZjReWLoggcSrjKgtN1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;907&quot; height=&quot;67&quot; data-origin-width=&quot;907&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>MiddleWare/JEUS</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/62</guid>
      <comments>https://pushstonez.tistory.com/62#entry62comment</comments>
      <pubDate>Wed, 3 Apr 2024 15:15:00 +0900</pubDate>
    </item>
    <item>
      <title>[WebtoB] ReadTimeOut 과 SvrChkTime</title>
      <link>https://pushstonez.tistory.com/61</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;ISSUE&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1615&quot; data-origin-height=&quot;177&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SOaDW/btsFAgA595v/256KCWlNCToGJwd18Ls5R1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SOaDW/btsFAgA595v/256KCWlNCToGJwd18Ls5R1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SOaDW/btsFAgA595v/256KCWlNCToGJwd18Ls5R1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSOaDW%2FbtsFAgA595v%2F256KCWlNCToGJwd18Ls5R1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1615&quot; height=&quot;177&quot; data-origin-width=&quot;1615&quot; data-origin-height=&quot;177&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;클라이언트가 웹 페이지 호출 시 페이지가 정상적으로 작동하지 않음&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;JEUS Container Log 확인결과&amp;nbsp;&amp;nbsp;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: left;&quot;&gt;failed because of java.net.SocketTimeoutException: Read timed out 발생&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;TimeOut?&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;프로그램이 특정 시간 내에 성공적으로 수행되지 않아서 진행이 자동적으로 중단되는 것&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;응답을 무한대로 기다릴 수 없기 때문에 기다리는 시간을 정해주어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Read TimeOut (단위 ms)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;JEUS에서 Web Connection을 통해 Web Server와 커넥션을 맺는다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;ReadTimeOut 시간을 설정하여 Web Server로부터 아무런 메시지가 오지 않는다면 커넥션에 문제가 있다고 간주하고 새 커넥션을 맺는다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;815&quot; data-origin-height=&quot;435&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/LGSPS/btsFzddpuPx/E3iGypmnnXHjj9hKn4GPk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/LGSPS/btsFzddpuPx/E3iGypmnnXHjj9hKn4GPk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/LGSPS/btsFzddpuPx/E3iGypmnnXHjj9hKn4GPk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLGSPS%2FbtsFzddpuPx%2FE3iGypmnnXHjj9hKn4GPk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;815&quot; height=&quot;435&quot; data-origin-width=&quot;815&quot; data-origin-height=&quot;435&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;SvrChkTime&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;서버와의 연결이 정상인지 확인하기 위해 체크하는 시간을 설정하며 방화벽을 사이에 두고 연결된 JEUS와의 연결을 확인하는 데 사용된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;Sv&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;rChkTime을 설정하고 서비스 요청이 없는 Ready 상태의 커넥션에 대해서 연속된 2회의 SvrChkTime에 의한 KeepAlive 요청에도 응답이 없으면 해당 커넥션에 이상이 발생했다고 인식하고 해당 커넥션을 단절하여 서비스 분배에서 제외한다.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;■&amp;nbsp;http.m&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;*Server 절의 해당 Server에 설정한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1337&quot; data-origin-height=&quot;87&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh8B8r/btsFpTgUu7t/IwsjwwdOQFSPMMKDmoFN1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh8B8r/btsFpTgUu7t/IwsjwwdOQFSPMMKDmoFN1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh8B8r/btsFpTgUu7t/IwsjwwdOQFSPMMKDmoFN1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh8B8r%2FbtsFpTgUu7t%2FIwsjwwdOQFSPMMKDmoFN1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1337&quot; height=&quot;87&quot; data-origin-width=&quot;1337&quot; data-origin-height=&quot;87&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;설정 확인&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;wsadmin -i&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;cfg -svr&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;480&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p18ip/btsFzdEtEmr/6sS960qcOy8kZ8Y5fxvkQk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p18ip/btsFzdEtEmr/6sS960qcOy8kZ8Y5fxvkQk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p18ip/btsFzdEtEmr/6sS960qcOy8kZ8Y5fxvkQk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp18ip%2FbtsFzdEtEmr%2F6sS960qcOy8kZ8Y5fxvkQk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;859&quot; height=&quot;480&quot; data-origin-width=&quot;859&quot; data-origin-height=&quot;480&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot; data-token-index=&quot;0&quot;&gt;Read-timeout 산출 공식&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot; data-token-index=&quot;0&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;(SvrChkTime X 2000) - 10000&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>MiddleWare/WebtoB</category>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/61</guid>
      <comments>https://pushstonez.tistory.com/61#entry61comment</comments>
      <pubDate>Tue, 5 Mar 2024 10:56:35 +0900</pubDate>
    </item>
    <item>
      <title>[JEUS] local sessions were scavenged</title>
      <link>https://pushstonez.tistory.com/60</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이슈 날짜 2020/10/15&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Version : JEUS7&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그 레벨 조정하지 않았는데 해당 로그 생성되는 형상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[2] [SESSION-49001] JeusStandardSessionManager[server1]: Local sessions were scavenged. total=208, valid=192, invalid=16 [1]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적용된 패치 목록 : 2020년 7월 2차 통합패치(jext_v7005_202007_2_unified.jar)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JeusStandardSessionManager[server1]: Local sessions were scavenged. total=208, valid=192, invalid=16\&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최신 패치가 적용되었다면 로그 레벨 INFO에서 해당 내용이 나타나지 않아야 하지만, 해당 패치 버전은 이슈 해결 이전의 패치였기 때문에 Default INFO 로그로 설정이 되어있지만 FINE에서 발생하는 로그가 찍힌 것으로 확인됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TmaxSoft TechNet에서 JEUS 최신 패치 다운로드 및 적용 필요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.tmaxsoft.com/kr/download/middleware/JEUS&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.tmaxsoft.com/kr/download/middleware/JEUS&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1709601489080&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;로그인 | 티맥스소프트&quot; data-og-description=&quot;티맥스소프트 웹사이트 회원이 되시면 웹사이트의 다양한 서비스를 경험할 수 있습니다.&quot; data-og-host=&quot;www.tmaxsoft.com&quot; data-og-source-url=&quot;https://www.tmaxsoft.com/kr/download/middleware/JEUS&quot; data-og-url=&quot;https://www.tmaxsoft.com/kr/login&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b98xRB/hyVueaBmSD/5AKqvr8ueMZu8Zb3V4lY4K/img.png?width=336&amp;amp;height=276&amp;amp;face=0_0_336_276,https://scrap.kakaocdn.net/dn/bq6zue/hyVumzHNNy/kfDigxVsTXS59XzBKsRlP0/img.png?width=336&amp;amp;height=276&amp;amp;face=0_0_336_276&quot;&gt;&lt;a href=&quot;https://www.tmaxsoft.com/kr/download/middleware/JEUS&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.tmaxsoft.com/kr/download/middleware/JEUS&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b98xRB/hyVueaBmSD/5AKqvr8ueMZu8Zb3V4lY4K/img.png?width=336&amp;amp;height=276&amp;amp;face=0_0_336_276,https://scrap.kakaocdn.net/dn/bq6zue/hyVumzHNNy/kfDigxVsTXS59XzBKsRlP0/img.png?width=336&amp;amp;height=276&amp;amp;face=0_0_336_276');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;로그인 | 티맥스소프트&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;티맥스소프트 웹사이트 회원이 되시면 웹사이트의 다양한 서비스를 경험할 수 있습니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.tmaxsoft.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>minminit</author>
      <guid isPermaLink="true">https://pushstonez.tistory.com/60</guid>
      <comments>https://pushstonez.tistory.com/60#entry60comment</comments>
      <pubDate>Tue, 5 Mar 2024 10:20:28 +0900</pubDate>
    </item>
  </channel>
</rss>