나는 nginx와 nodejs로 내 서버에서 실행중인 힙합 봇을가집니다. 는 여기에 내가 nginx.conf에있는 내용은 다음과 같습니다
upstream my_bot {
server 127.0.0.1:3300;
keepalive 8;
}
server {
listen 80;
server_name your.address.com;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://my_bot;
proxy_redirect off;
}
}
그리고 자바 스크립트는 단순히 내부 포트 3300에서 수신 대기 :
const Http = require('http')
var server = Http.createServer(function(req, res) {
if (req.method != 'POST') {
res.writeHead(400, {'Content-Type': 'text/plain'})
res.end('Error')
return
}
var body = ''
req.on('data', function (data) {
body += data
})
req.on('end', function() {
try{
message = JSON.parse(body)
}
catch(e) {
/* Not a JSON. Write error */
res.writeHead(400, {'Content-Type': 'text/plain'})
res.end('Format Error')
return
}
if (message.token != '<your token here>') {
/* Not valid token. Write error */
res.writeHead(400, {'Content-Type': 'text/plain'})
res.end('Token Error')
return
}
/* Do your stuff with request and respond with a propper challenge field */
res.writeHead(200, {'Content-Type': 'application/json'})
res.end(JSON.stringify({challenge: message.challenge}))
})
})
server.listen(3300)
내가 pm2을 사용하고 데몬으로 내 서버에서 실행되는 스크립트를 가지고
다른 백 엔드를 실행할 수 있습니다.