MDRM 서버에 https, http 통신이 모두 가능하도록 설정

1. Environment

  1) MDRM Web 통신과 Agent/MDRM 서버간 통신을 http로 구성 후

      보안상의 이유로 MDRM Web 통신 설정만 https 통신으로 설정변경이 필요

  2) Agent/MDRM 간 통신설정은 그대로 유지하여야 함

     ## application.properties 내용

          – mdrm.server.port=80

          – mdrm.server.https=false

2. Symptoms

    1) MDRM Web 통신을 https로 변경 후 관제서버 접속은 https로 정상접속 됨

    2) 관제서버의 “시스템”에 등록되어 있는 Agent 서버들과 Disconnect 되면서 서버UI가 회색상태로 변경됨 (알수없음 상태)

3. Cause

    1) MDRM의 tomcat 설정이 https로 요청되는 것만 처리하게 설정이 변경되어 Agent에서 http통신으로 요청들어 오는 내용을 처리하지 못함

4. Solution

     1) web.xml 파일 생성

         경로: /var/lib/tomcat8/webapps/ROOT/WEB-INF/web.xml

          – Agent에서 http로 요청되는 내용에 대해 처리

      2) server.xml 파일 설정

          경로: /var/lib/tomcat8/conf/server.xml

           – 80포트의 접속을 443 포트로 전향시킨다.

5. Workaround

       1) web.xml 파일 생성

          에이전트에서 요청하는 주소 /services/* 을 제외한 모든 요청은 HTTPS 로 전향하도록 설정한다.

          경로: /var/lib/tomcat8/webapps/ROOT/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">
  <display-name>GAM</display-name>
  <description>

  </description>

  <security-constraint>
    <web-resource-collection>
        <web-resource-name>http for the agents</web-resource-name>
        <url-pattern>/services/*</url-pattern>
     </web-resource-collection>
   </security-constraint>

  <security-constraint>
    <web-resource-collection>
        <web-resource-name>https for web users</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>

    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>

</web-app>

      2) server.xml 설정

        80 포트의 접속을 443 포트로 전향시킨다.

        경로: /var/lib/tomcat8/conf/server.xml

..
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="256" redirectPort="443" />
...
<Connector port="443" protocol="HTTP/1.1" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/gampkgs/data/temp/mccs-ent.keystore" keystorePass="password" clientAuth="false" sslProtocol="TLS"/>
...

       3) Tomcat 재 시작

# service tomcat8 restart