'nodejs'에 해당되는 글 2건

  1. 2016.07.03 Nodejs npm 에서 Proxy 설정하기
  2. 2016.02.26 AWS Node SDK 사용방법 - S3에 파일 올리기

Azuer와 AWS의 가상화된 인스턴스에서는 잘 동작하던 코드가, 사내 또는 특별한 환경에서 동작하지 않을 때가 있는데, 이경우는 보안 강화를 위해 설정된 방화벽과 Proxy 서버를 통해서 외부로 나가는 Traffic의 통제를 받기 때문일 것이다.


node js의 패키지를 설치를 위해서 사용하는 NPM을 사용할 때도 Proxy의 영향을 받아서 Repository에서 다운받을 패키지 설치가 원활하지 않을 수 있을때 다음과 같이 CLI상에서 명령을 실행하여 해결할 수 있다.


예로 proxy 서버의 주소가 '192.168.10.1' 이고 Port가 8080이라고 할때, 다음과 같이 실행하면 된다.

(이미 npm과  nodejs가 설치 되어있는 환경에서 실행)


   npm config set proxy http://192.168.10.1:8080

   npm config set https-proxy http://192.168.10.1:8080

   npm config set strict-ssl false


가장 마지막에 있는 strict-ssl은 HTTP Strict Transport Security(HSTS)를 사용하여 항상 HTTPS  프로토콜을 사용하도록 강제하기 위한 옵녓인데, 여기서는 False로 설정했다. 




'공부하는 것 > Node Js' 카테고리의 다른 글

Nodejs npm 에서 Proxy 설정하기  (0) 2016.07.03
AWS Node SDK 사용방법 - S3에 파일 올리기  (0) 2016.02.26
Posted by 행복상자

최근에 AWS와 node.js를 이용하여, 프로젝트를 진행하고 있다.

이전에 Azure룰 개인적으로 이용하곤 했는데, AWS는 실제 개발과 운영의 업무가 나누어져 있어서 나는 누군가가 만들어준 인스턴스를 이용하기만 하였지, 직접 하나 하나 건들일 일이 없었다. 

그런데, 지난 1월 7일에 Amazon 한국 리젼이 오픈을 하게되면서, 나도 개인 계정을 만들어 인스턴스를 생성하고, 몇몇 기능들와 서비스들을 이용해 보고 있다. 

최근에는 S3에 파일을 업로드 하거나, 다운 받는 코드를 AWS Lambda를 이용해서 실행하도록 만들었는데, Lambda는 AWS의 S3로 새로운 파일을 올리거나 받을때, 이벤트에 따라 필요한 코드를 실행할 수 있도록 도와주는 기능인데, 따로 서버를 운영하지 않아도(돈을 아낄수 있어서 좋다.) 된다.


아래는 AWS S3로 mytest.txt라는 파이을 zlib를 이용하여 압축을 한후에, S3로 업로드하는 

코드이다.

var AWS = require('aws-sdk');

AWS.config.loadFromPath('./config.json');


var s3 = new AWS.S3({ region: 'ap-northeast-2' }); 

var fs = require('fs');

var zlib = require('zlib');


var body = fs.createReadStream('C:/mytest.txt').pipe(zlib.createGzip());

var s3obj = new AWS.S3({params: {Bucket: 'seoulbucket9999', Key: 'myKey.zip'}});

s3obj.upload({Body: body}).

  on('httpUploadProgress', function(event) { console.log(event); }).

  send(function(err, data) { console.log(err, data) });


간략하세 설명을 하면  첫줄의 'var AWS = require('aws-sdk');'는 aws-sdk 패키지를 npm을 이용해서 설치한 후에 실행할때 넣어주면 된다. 

명령은 다음과 같다.  (사용을 위해서는 윈도우와 리눅스 또는 맥에 node와 npm 패키지가 이미 설치 되어져 있어야 한다.)

npm install aws-sdk

그리고,  'AWS.config.loadFromPath('./config.json');' 는 S3에 필요한 Access-key와 secret key를 별도의 config파일에 저장해서 가져오는 기능이다. 


마지막으로 아래의 코드는 로컬에 있는 mytest.txt 파일을 zlib를 이용하여 압축해서 S3에 올리는 코드이다. 

var body = fs.createReadStream('C:/mytest.txt').pipe(zlib.createGzip());

var s3obj = new AWS.S3({params: {Bucket: 'seoulbucket9999', Key: 'myKey.zip'}});

s3obj.upload({Body: body}).

  on('httpUploadProgress', function(event) { console.log(event); }).

  send(function(err, data) { console.log(err, data) });


'공부하는 것 > Node Js' 카테고리의 다른 글

Nodejs npm 에서 Proxy 설정하기  (0) 2016.07.03
AWS Node SDK 사용방법 - S3에 파일 올리기  (0) 2016.02.26
Posted by 행복상자