2017-05-16 21 views
0

Google Cloud Platformで計算エンジンインスタンスを作成し、CentOS 7、apache、nodejをインストールしました。私はサーバー上で逆プロキシを設定していますので、ブラウザにhttp://[external_ip]またはdomain_name/api/hitと入力すると、nodejsサーバーにヒットします。以下に設定の上hapijsリバースプロキシapacheでエンドポイントの問題を解決する

/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/DOMAIN_NAME/public_htmlの/ index.htmlを - >私たちは、ブラウザ上で直接ドメイン名を打ったとき、それは

VAR/WWW/HTML/DOMAIN_NAMEこのファイルを実行します/ 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); 
}); 

私は2つのエンドポイントの下に作成しました: 1.私は、HTTPを訪問したときに/(このルートが機能している:/// API/ 2. /私が訪れたときにハロー(このルートは機能していないのhttp:/ // API /ハロー/

我々はApacheとnodejsでリバースプロキシを使用する際に必要な任意の他の構成はありますか?

答えて

1

私は考え出した。問題は、Apacheでリバースプロキシ設定とあった。私は、変更(削除スラッシュを以下でした/ from ProxyPass and ProxyPassReverse from folder)

ProxyPreserveHost On 
ProxyPass /api http://127.0.0.1:8080/ 
ProxyPassReverse /api http://127.0.0.1:8080/ 
関連する問題