개발중 post방식으로 전송을 하는데

파라미터가 넘어가지 않는 현상이 있었다.

 

해당 post는 여러개의 사진을 업로드하는 전송이었는데 

이는 톰캣 파라미터 설정중 최대 size를 넘겨 발생한 현상이었다.

 

기본 톰캣 파라미터 설정

최대 size 2097152 -> 2M
최대 개수 10000개

 

기본설정 2M보다 전송할 파라미터 크기가 더 커서 발생하였으니 설정을 바꿔주자

 

server.xml 에서

<Connector 부분에 maxPostSize 특성을 주면된다

 

maxPostSize : 직접 size를 지정해도 되고 -1로 설정시 무제한

maxParameterCount : 파라미터 개수 설정 역시 -1로 설정시 무제한

 

ex)

<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="-1" maxParameterCount="-1"/>

가상호스팅이란?


하나의 웹서버에 다른 도메인으로 여러 어플리케이션(웹사이트)을 돌리는것



가상호스팅 방법



1. ${catalina_home}/conf/server.xml 수정


크게 <Service> <Connector> <Engine> <Host> 태그가 있다.


Host태그를 보면 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>

이렇게 되어있다.


name 부분이 도메인 즉 호스트명이며

appBase 부분은 어플리케이션이 위치할 경로이며  ${catalina_home}다음 상대경로가 잡혀있다. (절대경로 입력가능)


host 태그안에 context설정을 안하면 <Context docBase="ROOT" path="" /> 이렇게 기본값이 들어가는데

path는 도메인/xxxx 이 xxxx부분 경로를 설정하는 부분이며

설정된 path값의 URL이 어떤docBase를 이용할지 설정하는 태그이다.


그래서 톰캣을 깔고 localhost:8080 을 들어가면 고양이페이지가 나오는데 그 index.jsp는

 ${catalina_home}/webapps/ROOT/index.jsp 경로에 존재한다


이상 여담


<Host name="aaa.com"  appBase="D:\aaa" unpackWARs="true" autoDeploy="true">

        <Context docBase="aaa" path="" reloadable="true" />

</Host>


이렇게 태그를 추가 해준다.

aaa.com 을 호스트명으로 해주며

해당 호스트명으로 접속시 D:\aaa경로에서 어플리케이션을 찾는다는 설정이다.


수정끝



2. 소스파일 위치


appBase 경로에 war를 넣던 프로젝트 소스를 올린다


여기서 잠깐 나는 도메인을 산게 아니니 hsots파일에 도메인 ip매핑을 했다.

C:\Windows\System32\drivers\etc\hosts 파일에 

127.0.0.1     aaa.com 을 추가한다.


혹시나 hosts파일이 권한때문에 수정이 안되면 

https://sleepyeyes.tistory.com/ 를 참고하자.



3. 톰캣 실행



 톰캣을 실행시켜준다


 ${catalina_home}/bin/startup.bat 실행


이제 브라우저에 aaa.com:8080으로 접속! (각자의 어플리케이션 경로에 맞게 url 뒷부분을 더 넣어주자)후 확인~


localhost:8080 도 확인~


aaa.com으로 각자가 넣은 웹프로젝트가 나올 것이고

localhost로 여전히 고양이가 반겨준다


이렇게 하나의 서버로 두가지 어플리케이션을 다른 도메인으로 돌릴수 있다



참고

https://gs.saro.me/dev?tn=461

https://okky.kr/article/91825



+ Recent posts