인텔리제이 스프링 부트 배포 WAR JAR 외부 톰캣 404 에러 처리

이미지
인텔리제이를 이용해 개발한 스프링 부트 프로젝트 배포와 외부 톰캣 구동시 404 에러 확인 결과 포스팅 솔루션 이 포스팅은 인텔리제이 스프링 부트 배포를 하는데, 자체 서버 WAS의 톰캣에 배포하는 과정에서 발생하는 404에러 처리를 하면서 느낀 부분을 정리하였습니다. 구글에서 이미 관련 검색으로 나온 솔루션을 했는데도 안됐거나 JAR와 WAR 구분 등 기본적인 것들에 대해 제가 느끼고 해결한 부분에 대해 정리하였습니다. 인텔리제이 스프링 부트 배포 이클립스에서 스프링으로 개발하다 스프링 시큐리티를 사용하지 못해 급하게 스프링 부트로 마이그레이션 작업을 진행하게 되었습니다. 그와 더불어 개발툴도 인텔리제이로 바꿨는데, 처음부터 다시 시작하는 느낌이 들었으나 금새 적응하고 이클립스보다 편한 부분들이 보여 잘 바꿨구나 싶었습니다. 어느정도 마이그레이션 작업이 끝나고, 이제 배포를 해볼 차례가 되었는데요. 배포 방법에는 몇가지가 있는 것 같은데 내가 한 방법에 내가 실패하고 성공한 방법을 정리하려고 한다. 배포 파일 확장자 JAR WAR 자바 어플리케이션을 배포할 때 나오는 JAR와 WAR 파일 확장자 이며, 압축파일의 형식으로 보입니다. 스프링 부트 기준 JAR의 경우에는 WAS인 톰캣이 내장되어 별도의 WAS에 얹거나 할 필요 없이 실행시 바로 접속할 수 있습니다. WAR의 경우에는 별도의 톰캣 서비스의 webapps 폴더 등에 올려서 사용하는 방식으로 사용합니다. 인텔리제이 스프링 부트 배포 인텔리제이를 처음 사용해 배포 방법조차 낯설고 어렵게 느껴져 검색으로 취득한 정보들을 토대로 정리해보겠습니다. 의존성 주입 방법으로 build.gradle.kts로 코틀린 방식의 의존성 주입이라고 하는데, 같은 듯 달라 보입니다. 그리고 스프링 부트

제브라 라벨 프린터 웹 브라우저 출력 기능 구현 정리

이미지
 제브라 라벨 프린터를 웹 브라우저를 이용한 웹 어플리케이션에서 출력하는 기능을 구현하는 개발 방법에 대해 정리하는 시간 가져볼게요. 제브라 라벨 프린터 웹 출력 라벨 프린터는 제조업 또는 물류에서는 거의 필수로 사용하는 제품 중 하나일텐데요. 저희는 제브라 라벨 프린터를 기본으로 많이 사용하고 있습니다. 기존 C# 등 윈도우 프로그래밍에서는 윈도우 프린터 디바이스에 쉽게 접근하고 프린팅 명령도 날릴 수 있는데요. 웹 브라우저를 통해서 출력하게 되면 이야기가 조금 달라집니다. 기본적으로 브라우저의 보안 정책상 클라이언트의 장치에 접근하기가 쉽지 않고, 일반적인 프린팅은 웹 브라우저 프린트 대화상자가 나와 ZPL을 이용한 출력은 불가능에 가깝습니다. 이번에 웹 어플리케이션에서 제브라 라벨 프린터를 ZPL을 이용해 바코드 및 라벨 출력하는 기능을 구현한 내용을 정리해보도록 하겠습니다. Zebra Browser Print 설치 우선 제브라 라벨 프린터를 웹에서 출력하기 위해서는 Zebra Browser Print 프로그램을 설치해야 합니다. Windows용 Zebra Browser Print 공식 사이트 Zebra Browser Print는 라벨 프린트를 사용할 클라이언트에도 설치를 해야 라벨 출력이 가능합니다. 윈도우 하단의 백그라운드 프로그램 목록에 실행되어 있으며, Setting 메뉴에 들어가보면 제브라 프린터 목록이 보입니다. settins 부분의 Device 및 Accepted는 코드 구현되면 채워지게 됩니다. 이외에도 Accepted Hosts 목록이 보이게 되는데요. 이 목록에 포함이 되어야 제브라 라벨 프린터에 프린터 명령을 보낼 수 있습니다. Localhost의 경우에는 문제 없이 가능하지만, 현재 설치된 시스템외에 타 서버에서 구동하는 웹사이트의 경우에는 CORS 정

https 사용을 위한 SSL 사설 인증서 발급 및 톰캣 적용 방법

이미지
https 프로토콜을 사용하기 위해 유료로 구매하는 SSL인증서가 아닌 openssl을 이용해 자체 서명 발급한 인증서를 이용해 WAS 톰캣에 적용해 https 프로토콜을 사용하는 웹 사이트를 구현해봤습니다. https 프로토콜 https 프로토콜을 말하기 전에 우선 http 프로토콜에 먼저 알아야겠습니다. 우리가 웹브라우저를 통해 네이버나 구글에 접속해서 콘텐츠를 보는 이러한 행동들은 모두 하나의 웹문서(html)을 바탕으로 합니다. 이런 웹문서를 클라이언트에게 보여주고 상호작용을 하기 위한 통신 규약을 http프로토콜이라고 하는데요. 이런 http에 보안 기능을 더한것이 https 프로토콜입니다. https 프로토콜은 SSL인증서를 발급받아 웹서버에 설치해서 사용할 수 있습니다. 대게 공인 인증된 SSL인증서는 유료로 구매해야 합니다.  저는 비용 발생없이 https 프로토콜을 사용할 일이 있어 자체 서명 인증서를 생성하고 그 인증서를 톰캣에 적용해보는 작업을 해봤습니다. 자체 서명 인증서 발급 과정 openSSL 프로그램 설치 자체 서명 인증서 발급 톰캣 적용 개인 사설 인증서 발급 프로세스 우선 자체 서명 인증서를 발급하기 위해 openSSL 프로그램 을 다운로드하고 설치해 줍니다. openSSL 자체 서명 인증서 발급 설치 후 cmd를 관리자 권한으로 실행 시켜 준 후 설치 경로의 bin 폴더로 이동합니다. 기본 설치 경로 - C:\Program Files\OpenSSL-Win64\bin 1. 개인키 발급 openssl genrsa -out

시놀로지 NAS 활용 DNS 서버 설정 도메인 구매 없이 도메인 사용 설정

이미지
 시놀로지 나스를 이용해서 DNS서버를 설정하는 방법과 함께 도메인 구입 없이 내부망 폐쇄망에서만 사용할 도메인 설정 방법까지 정리하는 시간 가져볼게요. DNS 서버란 DNS서버란 인터넷에 연결된 기기는 모두 숫자로 된 IP주소를 가지게 됩니다. 우리가 흔히 브라우저에 입력하는 naver.com google.com 등 인터넷 주소도 사실은 다 ip주소로 되어 있습니다. naver.com google.com으로 입력하게 되면 DNS 서버에서 naver.com google.com에 포함된 IP주소로 변환하여 접속하게 되는 구조로 되어 있죠. www.naver.com 과 같은 주소를 가지고 서버에 접속하게끔 IP주소로 변환해주는 역할을 하는 DNS 서버 여기서 DNS서버는 우리가 흔히 알고 있는 문자주소와 그에 해당하는 IP주소의 연결고리를 기억하고 요청이 오면 해당되는 주소를 찾거나 이를 변환해서 제대로된 목적지로 안내하는 역할을 합니다. DNS 서버 구축 목적 DNS 서버는 특별한 이유가 없다면, 통신사에서 운영하는 DNS서버 주소를 설정하게 됩니다. 대표적으로 168.126.63.1로 통하는 KT 코넷 DNS주소를 설정하게 되는데요. 그 이유는 IP주소와 인터넷 주소의 맵핑 정보를 사설 주소보다는 빠르게 갱신되기 때문입니다. 저의 경우는 DNS 서버를 직접 구축했어야 하는 이유 중 하나는 내부망 즉 회사 네트워크안에서만 사용되는 도메인 주소를 이용하기 위해서입니다. 도메인 구매 없이 특정 주소를 입력했을 때, 지정한 내부 네트워크의 서버로 연결되게 하기 위함입니다. 시놀로지 나스 활용 DNS 서버 설정 시놀로지 나스는 웹 하드

포티게이트 방화벽 DNS 설정 내부망 폐쇄망 도메인 사용 방법

이미지
포티게이트 방화벽 장비를 사용해서 내부망에서만 사용하는 도메인 주소를 설정하는 DNS 세팅 방법에 대해 공유해보고자 합니다. 내부망 도메인 사용 사내 내부망에서만 사용하는 웹 페이지를 이클립스를 통해 개발하였습니다.  매번 C#만 만졌었는데 이번에 HTML, CSS, 자바스크립트를 이용해 모듈을 하나 완성했는데요. 서버 하나에 톰캣으로 웹 서비스를 올리기까지 완료했습니다. 이제 직원들 업무에 사용할 수 있게 해야 하는데, IP주소로 접속하라고 하기에는 뭔가 없어 보여 회사명으로 된 도메인으로 접속하게끔 하고 싶은 욕구가 생겼습니다. 도메인을 구입하면 되겠지만, 어차피 사내 폐쇄망에서만 사용할 예정이고 보안적인 부분도 있엇 외부접속이 안되게끔 해야 하는 상황이었습니다. 윈도우 hosts 파일 수정 가장 간단한 방법입니다. 윈도우 hosts 파일에 서버측 IP주소와 함께 도메인을 적어주면 되는데요. 클라이언트에서 요청시 도메인보다 먼저 hosts 파일을 확인해 IP주소와 도메인 주소를 맵핑해줍니다. 간단하지만 모든 클라이언트에 설정해줘야 의미가 있습니다. 윈도우 hosts 파일은 windows\system32\drivers\etc 에 위치해 있습니다. 제일 간단하지만, 이 hosts 파일을 각 클라언트 즉 직원들 PC마다 설정을 해줘야 하는 번거로움이 있고, 각 개인 PC를 중앙에서 관리하는 관제 솔루션이 없는 우리로써는 너무 비합리적인 방법으로 보입니다. 포티게이트 방화벽 DNS 설정 포티게이트 방화벽을 사용중이라면, 관리자 콘솔에 접속시 DNS 설정 메뉴들이 보입니다. 포티게이트 방화벽 장비가 DNS로써의 역할은 하지 않는다고 하는데, DNS 관련

https를 쓰는 이유 SSL 인증서 구매 가격 설치 방법 카페24 인증서 구매 후 https 적용 방법

이미지
https를 쓰는 이유 웹페이지에 접속하다 보면 http와 https로 시작하는 것을 볼 수 있습니다. 이 둘의 차이와 https를 사용하기 위해 SSL 인증서 구매 가격 카페24 인증서 구매 후 https 적용 방법 정리해 보는 시간 가져보겠습니다. https를 쓰는 이유 https를 쓰는 이유 알아보기 전에 http와 https의 차이에 대해 먼저 알아봐야겠습니다. http는 인터넷을 사용하기 위한 프로토콜입니다. 프로토콜이란 사전에 정의된 규칙으로써, 인터넷 브라우저와 사용자 간의 통신 규약입니다. http 뒤에 s가 붙은 https는 기본적인 http 프로토콜에 보안을 위한 내용이 추가된 프로토콜입니다. https를 쓰는 이유는 사이트의 신뢰성 평가에 있습니다. 일반적으로 http에서보다 https는 보안 인증서가 있는 경우에만 https 주소를 사용할 수 있기에 사이트 평판에서 http만 사용되는 사이트보다는 우수합니다. 그러기에 일반적인 기업 사이트나 널리 알려진 사이트에서는 https 주소가 활성화되어 있습니다. http 단점 및 http 보안 취약점 http 단점으로는 기본적으로 사이트가 보안에 취약하다는 겁니다.  요즘같이 무엇보다 개인정보가 중요한 시대에 http로만 운영되는 사이트는 개인정보 및 악성코드의 공격이 의심된다고 판단하게 되는 것이죠. http 프로토콜을 사용하는 사이트는 신뢰할 수 없는 웹사이트로 규정하고 있습니다. 그리고 SEO 적으로도 각 포털사이트의 크롤링 봇(웹페이지를 검색하고 색인하는 프로그램 포털사이트에서 대개 사용)에게 http로만 운영되는 사이트는 그만큼 신뢰성이 크지 않다고 생각하여 낮은 점수로 랭크 되게 됩니다. 또 한 가지 문제점은 사이트 접속에서도 사용자가 http 프로토콜을 사용하는 사이트이니 보안에 취약할 수 있다는 경고성 문구가 나온다는 것이죠. 이는 사이트에 방문자가 급감할 수 있는 요인으로 매우 마이너스적인 요소라고 볼 수 있습니다. https 주소 사용을 위한 SSL 인증서 ht

tortoiseSVN AnkhSVN 사용법 체크아웃 사용 비주얼 스튜디오 C# 프로젝트 가져오기

이미지
tortoisesvn 사용법 이번에 노트북을 새로 바꾸면서 기존에 사용하던 소스를 tortoisesvn 사용해 비주얼 스튜디오 C# 프로젝트 가져오기 방법에 공유해 보겠습니다. tortoiseSVN 사용법 버전 관리를 git으로 하는 게 대세로 자리 잡았으나, 회사에서는 아직 SVN을 사용하는 곳이 많이 있습니다.  SVN 사용에 있어 크게 SVN 서버와 SVN 클라이언트 프로그램이 있는데 tortoiseSVN은 클라이언트 프로그램에 속하게 됩니다. SVN 서버에서 소스를 가져오고 버전 관리를 가능하게 해주는 프로그램에 속합니다. 프로그램 설치는 구글이나 포털사이트에서 검색하면 상단에 공식 홈페이지가 나오고 접속 후 인스톨 파일과 한국어 언어팩을 사용하려면 하단의 한국어 언어팩까지 받아서 같이 설치해 주면 되겠습니다. tortoiseSVN 공식사이트 다운로드 링크 tortoiseSVN 한국어 언어팩 설정 다운 받은 한국어 언어팩을 설치 후 마우스 우클릭하여 SVN 메뉴에 진입합니다. TotoiseSVN -> 설정 일반 탭의 언어에서 한국어 설정 SVN 프로젝트 가져오기 SVN 클라이언트 프로그램을 설치하고 나면, 마우스 우클릭 시 SVN 메뉴가 추가된 것을 확인할 수 있습니다. 서버에서 저장소의 URL을 가져올 수 있습니다. 프로젝트를 가져오기 위해서는 아래의 일련의 과정을 거치면 됩니다. SVN Checkout... 클릭 URL or repository입력란에 SVN Server URL 기입 Checkout Depth의 경우에는 전체 프로젝트를 받기 위해서는 Fully recursive를 선택 특정 Revision 번호를 기입할 경우에는 Revision 번호를 기입하고 마지막 버전을 받고 싶다면 HEAD revision을 클릭 후 OK CheckOut을 통해 프로젝트를 가져올 수 있으며, 선택된 폴더안에 그대로 복사됩니다. 여기서 저장소의 URL의 경우에는 SVN Server에서 주소를 받아올 수 있습니다.  tortoiseSVN의 경우에는