2017-06-30 11 views
0

私はCentOS6でクラウドホスティングを行っています。私はnodejsとmongodbをインストールして実行しました。Express res.render shows 403 prohibited

私はExpressを使用していて、メインディレクトリをindex.hbsファイルにルーティングしています。

var express = require('express'); 
var router = express.Router(); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express' }); 
}); 

module.exports = router; 

ローカルマシンにロードすると動作します。しかし、ホスト上では403禁止ページが表示されます。

提案がありますか?

答えて

0

ファイルのアクセス権と関係することがあります。アプリケーションが実行されているユーザーは、テンプレートファイルへの読み取りアクセス権が必要です。

もう1つのヒントは、現在の作業ディレクトリに関連するファイルにアクセスしている可能性のある場所で、アプリケーションディレクトリが本番環境で実行されているときにアプリケーションディレクトリと同じでないことがあります。例えば

あなたがルートディレクトリに起動して実行します。

cd /your/app; node app.js 

その後、現在の作業ディレクトリと__dirname両方がapp.jsに同じですが、実行すると:

node /your/app/app.js 

この場合、cwdと__dirnameは異なります。

これはほんの少しのヒントです。ログメッセージやエラーメッセージがなく、アプリの実行方法と場所について詳しく説明していないので、これ以上詳しくは答えられないからです。

関連する問題