목록분류 전체보기 (141)
nickjoIT
관리자 ID일 경우 로그인 할 때 사외 IP로 접근 시에 로그인이 되지 않도록 해둔 로직이 있었는데, 어느 순간부터 사내에 있는 PC로 접근했는데도 로그인이 되지 않는 일이 발생했습니다. 문제를 찾아보니 웹 서버에 접근할 때 L4(Load balancing)이나 Proxy 서버 등을 사용할 때 request.getRemoteAddr(); 로 IP를 가져오면 Client IP가 아니라 L4나 Proxy 서버의 IP를 가져오는 것을 알 수 있었습니다. 이런 장비들의 경우 Client IP를 Header에다가 남겨둔다고 합니다. 따라서, Client IP를 가져오기 위해서는 다음과 같은 로직을 사용해야 합니다. 1234567891011121314151617181920212223242526272829303132..
아마존 인스턴스에 접속하여 이미지를 올리고 싶다면 어떻게 해야할까?git에서 fetch하는 방법이나 터미널에서 직접 전송하는 방법도 있겠으나, FTP, SFTP 전용 프로그램을 이용하는 것이 효율이 높다고 하겠다.참고로 FTP는 File Transfer Protocol, SFTP는 Secure File Transfer Protocol로,HTTP는 하이퍼텍스트 문서를 주고 받고, SMTP는 메일을 주고 받는 것처럼 파일을 전송하는데에 관한 규약이라고 보면 되겠다. 그렇다면 FileZilla 웹사이트를 가서 다운을 받자. Client를 받으면 된다. https://filezilla-project.org/download.php 다운로드를 받았으면 이러한 인터페이스가 나타날 것이다. 그냥 FTP의 경우에는 호스..
WinSCP에서 AWS EC2로 접속하기 위해서는 .ppk 파일이 필요하지만 EC2에서는 .pem파일을 제공한다..pem은 "Private Enhanced Mail"로, putty에서는 .pem파일을 사용할 수 없다. 따라서, 이를 .ppk로 바꾸기 위해서는 puttygen이라는 툴을 사용하면 된다. 다운로드 링크:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 사용법:1. Puttygen을 실행한다.2. 메뉴의 "Conversions"에서 "Import key"를 선택한다.3. 창이 뜨면 .pem파일을 선택하고 "open"으로 연다.4. comment라고 된 부분을 "imported-openssh-key"에서 "my-server-1"과 ..
CentOS 7 을 최소설치 하면... 정말 아무 것도 없다. FTP로 파일 송수신을 하기 위해서 vsftpd 를 설치해야 하는데, vsfptd 는 yum 을 이용하여 쉽게 설치가 가능하다. 1. yum 을 이용한 vsftpd 설치# yum -y install vsftpd 2. vsftpd 설정# vi /etc/vsftpd/vsftpd.conf - anonymous_enable=NO : 익명 접속 허용 여부- listen=YES : IPv4- listen_ipv6=NO : IPv6- idle_session_timeout=3600 : 세션 유지 시간- chroot_local_user=NO : 접속한 유저의 HOME 경로를 루트로 인식할 것인지 여부- chroot_list_enable=YES : chroot..
vi .zshrc입력 후 alias 입력
기본적인 해쉬 테이블에 대한 이해 해쉬 테이블은 Key에 Value를 저장하는 데이타 구조로, value := get(key)에 대한 기능이 매우매우 빠르게 작동한다. 개발자라면 자주 쓰는 데이타 구조지만, 실제로 어떻게 작동하는지에 대해서 정확하게 알고 있지는 모르는 경우가 많다. 이 글에서는 해쉬 테이블에 대한 기본적인 구조와, 구현 방식에 대해서 설명 하도록 한다. 해쉬 테이블의 기본적인 개념은 다음과 같다.이름을 키로, 전화 번호를 저장하는 해쉬 테이블 구조를 만든다고 하자. 전체 데이타 양을 16명이라고 가정하면 John Smith의 데이타를 저장할때, index = hash_function(“John Smith”) % 16 를 통해서 index 값을 구해내고, array[16] = “John ..
ALTER TABLE tableName CHANGE `oldcolname` `newcolname` datatype(length); ex) ALTER TABLE USER_INFO CHANGE USER_NM USER_ID VARCHAR(100);
서버 관리를 하다보면 mysql 사용자 계정을 추가해 줄때가 있다. MySQL 접속 및 데이터 베이스 추가# mysql -u root -p 사용자 계정을 추가하기 전에 먼저 현재 생성된 사용자 계정을 확인한다. mysql > use mysql; // mysql database 선택 mysql > select host, user, password from user; // user 테이블 살펴보기 사용자 추가 (권한추가) mysql > create user 사용자ID; // 사용자 추가mysql > create user userid@localhost identified by '비밀번호';// 사용자(user)를 추가하면서 패스워드까지 설정 기존에 사용하던 계정에 외부 접근 권한을 부여하려면, Host를 '%..
@Controller VS, @RestController (Controller와 RestController의 차이점) 전통적인 Spring MVC 컨트롤러와 Restful 웹서비스 컨트롤러의 주요 차이점은 HTTP Response Body가 생성되는 방식이다. 기존의 MVC 컨트롤러는 view기술을 사용하지만 Restful 웹서비스 컨트롤러는 객체를 반환하기만 하면 객체 데이터는 JSON/XML 형식의 HTTP 응답을 직접 작성하게된다.다시 정리하자면 @Controller의 주용도는 view(화면)을 리턴하는 것이고, @RestController는 데이터를 리턴하는 것이 주용도하고 할 수 있다. 물론 @Cotroller의 경우 메서드에 @ResposeBody를 사용하여 객체를 리턴할 수도 있다. Spri..
RHEL 7 에 도입된 systemd 를 관리하는 명령어인 systemctl 사용법 Target 관리target 은 기존 SysV init 의 run level 과 같은 개념이며 systemd 의 기본 타겟 명은 default.target 이며 실제로는 다중 사용자 모드(run level) 인 mutl-user.target 임. 기본 타겟 확인$ systemctl get-default multi-user.target 타겟 목록 출력$ systemctl list-units --type target UNIT LOAD ACTIVE SUB DESCRIPTIONbasic.target loaded active active Basic Systemcryptsetup.target loaded active active E..