2017-05-16 6 views
0

Google 클라우드 플랫폼에 컴퓨팅 엔진 인스턴스를 만들고 CentOS 7, apache 및 nodejs를 설치했습니다. 나는 서버에 역방향 프록시를 설치하여 언제든지 http://[external_ip] 또는 domain_name/api/브라우저에서 hit하면 nodejs 서버에 충돌합니다. 다음은 구성 위역방향 프록시 apache를 사용하는 hapijs 라우트 엔드 포인트 문제

/etc/httpd/conf.d/default-site.com

ProxyPreserveHost On 
ProxyPass /api/ http://127.0.0.1:8080/ 
ProxyPassReverse /api/ http://127.0.0.1:8080/ 

가 잘 작동 내 리버스 프록시 구성입니다. 우리가 브라우저에서 직접 도메인 이름을 쳤을 때 그것은이 파일을 실행합니다>

var에/www /에서 HTML/도메인 _ -

var에/www /에서 HTML/도메인 _/public_html을/index.html을 : 다음은 내 디렉토리 구조/public/html/api/-> 여기에 내 nodejs 응용 프로그램이 있습니다.

hapi js 프레임 워크를 설치했습니다./api/디렉토리 아래에 server.js 파일을 생성했습니다.

'use strict'; 

const Hapi = require('hapi'); 

// Create a server with a host and port 
const server = new Hapi.Server(); 
server.connection({ 
    host: '127.0.0.1', 
    port: 8080 
}); 

server.route({ 
    method: 'GET', 
    path:'/', 
    handler: function (request, reply) {  
     return reply('hello world'); 
    } 
}); 

// Add the route 
server.route({ 
    method: 'GET', 
    path:'/hello', 
    handler: function (request, reply) {  
     return reply('hello world'); 
    } 
}); 

// Start the server 
server.start((err) => { 

    if (err) { 
     throw err; 
    } 
    console.log('Server running at:', server.info.uri); 
}); 

나는 두 개의 엔드 포인트 이하로 만들었습니다 1. 내가 HTTP를 방문 할 때/(이 경로가 작동 : /// API/ 2/I가 방문 할 때 안녕하세요 (이 경로가 작동하지 않는 HTTP :/// API/인사/

우리는 아파치와 nodejs와 리버스 프록시를 사용하는 경우 필요한 anyother 구성이 있습니까?

답변

1

내가 알아 낸. 문제는 아파치와 역방향 프록시 구성했다. 나는 변화를 다음 않았다 (제거 슬래시/from ProxyPass 및 ProxyPassReverse from folder)

ProxyPreserveHost On 
ProxyPass /api http://127.0.0.1:8080/ 
ProxyPassReverse /api http://127.0.0.1:8080/