TOMCAT7 SSL USE 톰캣7 SSL 사용하기 

프로젝트를 하다보니 기존 시스템에 신규 개발해야 할 일이 있다. 

제우스7이라서 이름에서도 알 수 있듯 자바7버전에 맞춰서 작동하는 환경이다. 

자바8이상 환경을 세팅 시...  서버 관리회사에선 제우스 라이선스를 새로 계약해야 한다고 해서  작업물을 7버전에 맞추기로 하였다.

자바7에서 자바8로 넘어오면서 나의 기준으로는 많은 변경점들이 있는데.. 소스를 수정하느라 시간을 좀 들였다.. 

톰캣7에서 테스트를 하면서 오작동하는 부분들 함수 찾아서 수정하고..... 

어째 어째 제우스에 올려 웹서비스가 되는것을 확인하였다. 

결제 모듈은 SSL환경이 필요하여 세팅해보았다. 

일단 자바 7경로로 이동후

keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore tomcat.keystore

라 CMD창에서 입력후 비번과 조직 조직명 동네 등 입력하면 tomcat.keystore라는 게 만들어진다. 

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="${user.home}/tomcat.keystore" keystorePass="패스워드"/>

톰켓 server.xml에 위내용을 추가한다.

끝~!!

참고 사이트 

https://indienote.tistory.com/100

 

톰캣 7에서 SSL(HTTPS) 설정하기

* 톰캣 7에서 SSL(HTTPS) 설정하기 1. 우선 keytool을 이용해 keystore 파일생성 keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore tomcat.keystore 2. 다음과 같이 커맨드를 입력한다. 참고..

indienote.tistory.com

 

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

Spring mvc samesite cookie 결제 모듈 연동시 세션이 끊어지는 경우

1. 시험환경

    ˙ Spring 5 Framework 

    ˙ Apache Tomcat 8.5

2. 목적

    ˙ Spring Framework 개발환경에서 SameSite 쿠키를 설정하고 동작을 확인한다.

3. 적용

    ① web.xml에서 쿠키 설정을 추가한다.

        - web.xml은 Spring Framework 개발시 한글 설정, 로그인 등 web 화면에서 나타나는 부분을 설정하는 파일이다.

<cookie-config>
    <http-only>true</http-only>
    <secure>true</secure>
</cookie-config>

잘 작동하시나요?

저는 나이스 본인인증에 적용중입니다..

 

참고사이트

https://languagestory.tistory.com/3

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

세이펜 사용법 음원 넣는 법

안녕하세요. 40대 아빠입니다. 최근에 아이가 세이펜으로 책을 너무 잘 보고 세이펜 음원 넣는 방법을 정리해보려고 합니다.

https://www.saypen.com/Script/main/mainp.asp

 

세이펜

세이펜,레인보우펜,피노키오펜,AS,세이펜티칭클럽,엄마표영어세미나,세이고,SAYGO

www.saypen.com

기본적으로 세이펜을 구매하시고 세이펜 사이트에 가시면 세이펜 핀파일 매니저 프로그램이 있습니다. 

요걸 가입하고 등록해서 설치해주세요. 

설치 후 보시면 

출판사별 음원

출판사별로 음원이 정리되어 있어요. ^^ 

여기서 필요한 음원을 선택하셔서 받으시면 됩니다. 

아람

저는 아람에 자신만만사회성동화를 다운로드하였는데요 

이건 소전집 시리즈에 포함되어 있어서 소전집 모음? 여하튼 모아져 있어요.. 

다운로드하시면 됩니다. 

https://www.arambooks.com/product/product_02

 

아람북스

내 아이의 그림책, 씨앗독서 아람북스

www.arambooks.com

그리고 명꼬 출판사 루이 브라유 아저씨가 없었다면? 

명꼬 자연이 통통 이런 건 명꼬라는 출판사가 보이지 않는데요. 

한국 차일드 아카데미에 보시면 명꼬 책들의 음원이 보여요.

http://www.ekca.co.kr/

 

(주)한국차일드아카데미

(주)한국차일드아카데미, 명꼬, 누리과학땅콩이, 자연이 통통, 명품꼬마 까르르, 스토리팡, 누리짱...

www.ekca.co.kr

마지막으로 세이펜 옥스퍼드 리딩 픽처북의 경우 리드 북을 보시면 카페 주소가 나오는데요. 

카페에 가시면 설명이 나와 있어요 음원을 직접 다운로드하여.. 세이펜에 넣어주셔야 해요. 

이상 세이펜 음원 넣으면서

골치 아팠던 명꼬 옥스퍼드 리딩 픽처북 아람 자신만만 사회성 동화 정리해보았습니다.

세이펜 망설이시는 분들은 테스트로 구매해보세요.. 저는 34개월인데 2-3시간 집중해서 보네요... @@ 

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

KB쿠폰북적금 with 현대오일뱅크 쿠폰 확인방법

많이 헤매시는 분들이 있어서 올립니다

kb스타뱅킹 어플 여시고

앱실행

 

뱅킹 조회
내 혜택 바로가기
주유 할인 쿠폰

도움이 되었으면 합니다.

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

톰캣 8.5 OPENSSL 인증서 설치 개발 테스트!!

회원가입을 할려고 하니NICE인증을 받아야 합니다. 

그런데 HTTP에서는 인증후 콜이 안되네요 브라우저 단에서 막아버리는것 같습니다. 

안전하지 않은 정보를 제출하려 함 허용 

제출하려는 정보가 보안되지 않음 등 엣지나 크롬에서 서버를 확인하니 호출자체가 오지 않네요. 

OPENSSL을 설치했습니다. 

http://slproweb.com/products/Win32OpenSSL.html

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space September 9, 2021 - OpenSSL 3.0 is available. Users should currently

slproweb.com

커맨드에서 입력합니다. (도스창)

① 개인키 생성
# openssl genrsa -des3 -out private.pem 2048

② 인증 요청서(CSR) 파일 생성
# openssl req -new -key private.pem -out private.csr

③ rootCA 기본키 생성
# openssl genrsa -aes256 -out rootCA.pem 2048

④ rootCA CSR 생성
# openssl req -x509 -new -nodes -key rootCA.pem -days 3650 -out rootCA.csr

⑤ 인증서(CRT) 생성
# openssl x509 -req -in private.csr -CA rootCA.csr -CAkey rootCA.pem -CAcreateserial -out private.crt -days 3650

6 pkcs12 형식 변경
# openssl pkcs12 -export -in private.crt -inkey private.pem -out keystore -name tomcat

7 jks 형식 변경
# keytool -importkeystore -srckeystore keystore -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

생성된 KEYSTORE.JKS파일을 톰캣 경로로 옴깁니다.

SEVER.XML을 아래주석을 풀고 수정합니다. 
  <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="D:\apache-tomcat-8.5.81\conf\ssl\keystore.jks"
                 certificateKeystorePassword="123456" type="RSA" />
        </SSLHostConfig>
    </Connector>
/src/main/webapp/WEB-INF/web.xml
파일에 이내용을 추가합니다. 

<security-constraint>
		<web-resource-collection>
			<web-resource-name>SSL Forward</web-resource-name>
			<url-pattern>/*</url-pattern>
		</web-resource-collection>
		<user-data-constraint>
			<transport-guarantee>CONFIDENTIAL</transport-guarantee>
		</user-data-constraint>
	</security-constraint>

그럼 HTTP로 접속시 HTTPS로 자동이동합니다. 

출처 : https://jdh5202.tistory.com/772

'JSP' 카테고리의 다른 글

intellij ssh 원격 romote 인텔리제이 원격 웹 web jsp php  (0) 2014.09.05
JSP 쿠키 제어  (0) 2014.08.27
블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

jquery ajax json mvc 스프링 post 

jquery 로 스프링 통신시 컨트롤로 선언 방법과 리턴방법 jquery에서 사용법등을 정리해보겠습니다. 

일단 스프링 에서 컨트롤러 선언입니다. 저는 사과로 선언을 해보겠습니다. 

@RequestMapping(value = "/apple", method = RequestMethod.POST, consumes = "application/json")
	public @ResponseBody CommonData apple(@RequestBody CommonData dto) {
		CommonData result_data = new CommonData();
		String apple = dto.get("apple","");
		result_data.put("result",apple);
		return result_data;
	}

@RequestBody 해쉬맵 변수명 으로 하면 강종항목들이 키와 값으로 분리되어  들어갑니다. 

CommonData 를 궁금해 하시는분들이 많으셔서 해쉬맵인데 전자정부프레임워크 처럼 map데이터사용시 쓸려고 재정의 해 놓은것 뿐입니다. 

public class CommonData extends LinkedHashMap {
	public void put(String key, Object value){
		super.put(key, value);
	}

	public String get(String key) {
		if(super.get(key)!=null)
		{
			return super.get(key).toString();
		}
		else
		{
			return null;
		}		
	}
	public String get(String key,String value)
	{
		if(super.get(key)!=null)
		{
			return super.get(key).toString();
		}
		else
		{
			return value;
		}	
	}
	public Object getObj(String key) {
		return super.get(key);
	}
}

거기에 @ResponseBody 해주면 해쉬맵이 json형태로 변화되어 응답합니다. 안에 리스트데이터나 뭐 각종데이터를 넣어서 보내어도 계층화되어 전송이 됩니다. 

ajax소스인데요. 

		$.ajax({
            url : '${pageContext.request.contextPath}/jqueryajax/apple',
            type : 'post',
            contentType: 'application/json',
            data : JSON.stringify ({'apple':'100','banana':200}),
            dataType : 'json',
            success : function(data){
                // 통신 성공시 실행....
            	data = data.RESULT;
            },
            error : function(xhr,status,error){
                // 통신 실패시 실행....
                // alert(xhr.status + " " + xhr.statusText);
                // alert("통신실패 : ["+xhr.status + " " + xhr.statusText+"]");
                alert("데이터 불러오는데 실패했습니다.");
            },
            complete : function(data){
                // 통신 실패했어도 최종 완료시 실행...
                // alert('complete');
            }
        });

이런식으로 호출해서 사용하시면 됩니다. 

 

'JQUERY' 카테고리의 다른 글

jqgrid jquery 내부값 변경하기 특정셀값 jqgrid  (0) 2014.12.01
JUQERY 폰 전화 PHONE 정규식 검사 - 포함  (0) 2014.12.01
jquery정리  (0) 2014.11.20
블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

아파치 특정 아이피 접속 특정아이피 허용

아파치 내부경로에 conf폴더안에 httpd-vhosts.conf 라는 파일이 있습니다. 

<Directory /home/www_web>
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1 192.172.0.58
</Directory>

directory 에 주소를 넣어주시고 되고

아래쪽 아이피에 접속가능한 아이피 주소를 넣으면 됩니다.

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

CHART.JS 사용법 정리

CDN으로 가져오기 

<script src="https://cdn.jsdelivr.net/npm/chart.js@3.0.0/dist/chart.min.js"></script>    <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@2.0.0"></script>

<canvas id="myChart"></canvas>

차트 ID 부여하기

const ctx = document.getElementById('myChartex').getContext('2d');

data 랑 options를 만드세요. 하나로 해도 되지만 {} 너무 많아서 눈이 어지러운 것 같아요. 

const _data = 
{
        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    };
const _options=
{
    	    indexAxis: 'y',
    	    // Elements options apply to all of the options unless overridden in a dataset
    	    // In this case, we are setting the border of each horizontal bar to be 2px wide
    	    elements: {
    	      bar: {
    	        borderWidth: 2,
    	      }
    	    },
    	    responsive: true,
    	    plugins: {
    	      legend: {
    	        position: 'right',
    	      },
    	      title: {
    	        display: true,
    	        text: 'Chart.js Horizontal Bar Chart'
    	      }
    	    }
    	};

차트를 생성한다. 차트의 형태에 따라 options값을 달리하면 된다.

chart = new Chart(ctx, {
          type: 'bar', // 차트의 형태
          data : lineChartData,
          options : options
         });

차트데이터

차트를 표시해 보았네요.

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

백링크 확인 사이트

위의 웹사이트에서 모두 백링크를 무료로 확인하실 수 있습니다. 몇몇의 웹사이트의 경우 하루에 백링크를 검사할 수 있는 횟수가 정해져 있습니다.

백링크란?

백링크는 다른 웹사이트에서 해당 웹사이트에 대해 언급을 하는 것입니다. 쉽게 링크를 걸어주는 것인데요. 품질이 좋은 웹사이트에 백링크가 걸리게 된다면 자신의 사이트의 품질도 좋다고 엔진이 판단하게 됩니다.

백링크 주의점

백링크는 한 사이트보다는 다양한 사이트에 다양한 링크가 언급되는 것이 좋습니다. 

하지만 스팸 사이트나 스팸 스코어가 높은 웹사이트 등에서 걸려오는 백링크는 오히려 안 좋은 영향을 끼치니 300개 백링크 작업에 얼마 이런 건 피하는 게 좋고 인위적인것보다는 좋은 품질의 글을 적어서 백링크가 자동으로 발생하게끔 하는게 제일 좋습니다. 

 

 

 

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,

무거동 카페 자미원 내 몸에 맞는 차를 추천해주네요.

안녕하세요^^/

최근에 울산 무거동에 있는 자미원이라는 카페를 방문해 보았는데요. 

카페입구

차를 타고 무거동에 볼일을 보고 있었어요.

주차할 곳을 찾아 골목골목 다니는데 자미원이라는 카페가 눈에 보이지 뭐예요. 

자미원 카페앞에 주차를 하고 가까이 가보았는데요. 

 

보리차

보리차를 무료로 제공하고 있었어요. 

호기심을 자극해서 카페에 들어가 보았는데요. 

음료 추천

카페에는 사람의 체질을 분류해 나에게 도움이 되는 음료와 디저터를 추천해준다고 안내문을 붙여 놓았더라고요. 

 

메뉴판

메뉴판을 한참 쳐다보다 직원에게 저 나에게 맞는 음료를 추천받고 싶은데 어떻게 하나요?

직원분이 생년월일을 적으라고 하시더군요 그리곤 사장님께 전화를 하셨어요. 

이것저것 추천해주시고 마지막에 사장님 오시면 다시 상담해주실거라고 하더군요 ^^ 

저는 고구마라떼를 두유 넣어서 아이스로 만들어서 먹었어요.

나에게 추천하는 음료는 쓰거라 신맛이 나는 게 저에게 좋은 음료라고 하시더군요 유제품은 안 좋다고 하시네요.

계산대

계산대 앞에 쿠키가 있어 쿠기도 하나 주문했어요. 

쿠키

뭘 먹을지 오래 고민하지 않았어요. ^^

라즈베리 치즈크림 쿠키를 주문하고 자리에 앉아 기다렸어요.

고구마라떼와 쿠키

스마트폰을 잠깐보고 있으니 가져다주셨어요. 

노란 거 쿠키 2개 보이시죠? 저건 아직 시판 전이라 시식으로 주는 거래요. 

결론은 고구마라떼는 너무 달지 않아 좋았고 쿠기는 너무 달아서... 아메리카노랑 먹을걸,,, 이라는 생각이 들었어요. ^^ 

아직 오픈전이라고 하는데 아메리카노 2000원이벤트 중이니까요 근처에 사시는 분들은 아메리카노에 라즈베리 치즈크림 쿠키를 시켜서 드셔 보시는 것도 괜찮지 않을까 생각이 되네요. 

 

오픈시간

아 오전8시오픈 저녁 9시 닫네요 ^^ 수요일은 쉬는 날이라고 하니까 방문하시기 전에 참고하세요 ^^ 

꼭~!!

마지막으로 사장님 감성 문구 좋아하시는 거 같은데 찾아서 읽어보는 것도 재미있는 거 같아요 ^^

당신의 하루가 별보다 빛나길

그럼 다음에 다른 카페로 찾아올게요 ^^ 안녕~

블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,