Request: https ๋์ ์— ์—ฐ๊ฒฐํ•˜๊ณ  ๋‹ค์Œ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ด๋ฆ„/IP๊ฐ€ ์ธ์ฆ์„œ์˜ ๋Œ€์ฒด ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2015๋…„ 09์›” 18์ผ  ยท  12์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: request/request

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์—์„œ heroku์˜ ์™ธ๋ถ€ https REST ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

request(
            {
                url: config.get('host') +req.originalUrl,
                method: req.method,
            }, function (error, response, body) {

            })

์ฝœ๋ฐฑ์—์„œ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŠธ ์ด๋ฆ„/IP๊ฐ€ ์ธ์ฆ์„œ์˜ ๋Œ€์ฒด ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: "ํ˜ธ์ŠคํŠธ: localhost.๊ฐ€ ์ธ์ฆ์„œ์˜ ๋Œ€์ฒด ์ด๋ฆ„์— ์—†์Šต๋‹ˆ๋‹ค: DNS:_.herokuapp.com, DNS:herokuapp.com "
ํ˜ธ์ŠคํŠธ: ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ. ์ธ์ฆ์„œ์˜ ๋Œ€์ฒด ์ด๋ฆ„์— ์—†์Šต๋‹ˆ๋‹ค: DNS:_.herokuapp.com, DNS:herokuapp.com

๋กœ์ปฌ์— ์„ค์น˜๋œ ๋™์ผํ•œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ฏ€๋กœ https์™€ ๊ด€๋ จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋„์›€์ด ๋˜์…จ๋‚˜์š”?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๋ฌผ๊ฑด์€ ๋”์ฐํ•˜๋‹ค

๋ชจ๋“  12 ๋Œ“๊ธ€

config.get('host') +req.originalUrl ์š”์ฒญ์˜ ์ •ํ™•ํ•œ URL์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ €๋„ ์ด๊ฑฐ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์ฒด ์„œ๋ช…๋œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ํ™•์ธ์„ ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด ์š”์ฒญ์— ์ด๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

agentOptions: {
        ca: fs.readFileSync('ca.cert.pem')
    }

ignoreHostname์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๊นŒ?

rejectUnauthorized ๋ณ€์ˆ˜๋ฅผ false๋กœ ์„ค์ •ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

`````` ์š”์ฒญ({
URL: config.get('ํ˜ธ์ŠคํŠธ') +req.originalUrl,
๋ฉ”์†Œ๋“œ: req.method,
๊ฑฐ๋ถ€ ๊ถŒํ•œ ์—†์Œ: ๊ฑฐ์ง“
},
ํ•จ์ˆ˜(์˜ค๋ฅ˜, ์‘๋‹ต, ๋ณธ๋ฌธ) {

        })```

``````

rejectUnauthorized: false ๊ฐ€ ์ฒซ ํŽ˜์ด์ง€ ๋ฌธ์„œ ์–ด๋”˜๊ฐ€์— ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

rejectUnauthorized: false ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ์ˆ˜๋ฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์œ ํšจํ•œ ํ•ด๊ฒฐ์ฑ…์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ธ์ฆ์„œ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA(๋‚ด ๊ฒฝ์šฐ์—๋Š” ์ž์ฒด CA)์—์„œ ์„œ๋ช…ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์นจ๋ฌต์‹œํ‚ค๊ณ  ๋ถˆ์•ˆํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌผ๊ฑด์€ ๋”์ฐํ•˜๋‹ค

์„œ๋ฒ„ ์ธ์ฆ์˜ CommonName ๋ฅผ ํด๋ผ์ด์–ธํŠธ์˜ hostname ์™€ ์ผ์น˜์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ธ์ฆ์˜ CommonName์„ ํด๋ผ์ด์–ธํŠธ์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„๊ณผ ์ผ์น˜์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์กด์žฌํ•˜๋Š” ์ž์ฒด ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‹ ๊ฒฝ ์“ฐ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ์„œ๋ฒ„์˜ ์ธ์ฆ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”

์ฐธ๊ณ ๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ๋™์•ˆ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. request({host: 'something.com'... headers: req.headers... ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํ—ค๋”์— host: 'localhost' ๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฒ”์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ต์ฒดํ–ˆ๋Š”๋ฐ ์ด์ œ ์ •์ƒ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ 6.10.3์„ ์‚ฌ์šฉํ•˜๊ณ  2.88์„ ์š”์ฒญํ•˜๋Š” ๋™์•ˆ ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅ˜: ํ˜ธ์ŠคํŠธ ์ด๋ฆ„/IP๊ฐ€ ์ธ์ฆ์„œ์˜ ๋Œ€์ฒด ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: "ํ˜ธ์ŠคํŠธ: https.๊ฐ€ ์ธ์ฆ์„œ์˜ ๋Œ€์ฒด ์ด๋ฆ„์— ์—†์Šต๋‹ˆ๋‹ค:

๋…ธ๋“œ tls.js ์ฝ”๋“œ๊นŒ์ง€ ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด์ฉ์ง€ "https." ๋…ธ๋“œ์— ๋Œ€ํ•œ ์š”์ฒญ์— ์˜ํ•ด ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์œผ๋กœ ์ „๋‹ฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. rejectUnauthorized๋ฅผ false๋กœ ์„ค์ •ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ URL์— ์˜ฌ๋ฐ”๋ฅธ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ ๋„๋ฉ”์ธ์—์„œ ์ œ๊ณตํ•˜๋Š” API ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ๋™์•ˆ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. request({host: 'something.com'... headers: req.headers... ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํ—ค๋”์— host: 'localhost' ๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฒ”์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ต์ฒดํ–ˆ๋Š”๋ฐ ์ด์ œ ์ •์ƒ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

๋‚ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. req.header๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ˜ธ์ŠคํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰