2
Nginxを使ってポート80に静的コンテンツを公開し、NodeJSに433リダイレクト(SSLあり)を公開しています。次のように nginxの構成は次のとおりNginxとNodeJSでHTTPSを設定する
NodeJSとserver {
listen 443 ssl;
ssl_certificate /opt/projetos/nodejs-project-ssl/vectortowns-cert.pem;
ssl_certificate_key /opt/projetos/nodejs-project-ssl/vectortowns-key.pem;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name 127.0.0.1:443;
location/{
proxy_pass https://127.0.0.1:8443;
proxy_redirect off;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto https;
}
}
、エクスプレス、およびEJSは、私はまた、HTTPSを使用するように構成された、ポート8443への動的コンテンツを公開しています。下記のjavascriptコード(質問に重要な部分のみ)を参照してください。
// other codes...
/* Enable https */
var privateKey = fs.readFileSync('/opt/projetos/nodejs-project-ssl/vectortowns-key.pem');
var certificate = fs.readFileSync('/opt/projetos/nodejs-project-ssl/vectortowns-cert.pem');
var credentials = {
key: privateKey,
cert: certificate
};
// other codes...
/* Controllers */
app.use(require('./controllers'));
https.createServer(credentials, app).listen(
configuration.server.port,
configuration.server.address,
function(){
logger.info('Server started: ' + configuration.server.address + ':' + configuration.server.port);
});
私の質問は以下のとおりです。
- 私はnginxのとNodeJSまたはちょうどそれらのいずれかで、SSL証明書とキーを設定する必要がありますか?
- 私が必要なのは、何が最善のオプション(NodeJSまたはNginx)でしょうか?
ありがとうございました!
ありがとう、私はそれを間違っていた。私は今調整する:) – lgapontes