WebサイトにApache ServerとNodeJs(Express)を組み合わせて使用しています。 SSLがなければ、Apacheはポート80とNodejをポート8080にリッスンしていました。NodeJs Express:Amazon EC2 UbuntuでHTTPSからリスニング
ここでは、SSLをWebサイトにインストールしています。 Apacheはポート443をリッスンするように設定されています。ポート8443,3333などにNodejsをリッスンさせようとしました。ポートの「カスタムTCP」としてAWSセキュリティグループを設定しました。問題は、Nodejsサーバーから何の応答も得られていないことです。問題はEC2セキュリティグループ設定の問題ですが、正確な問題を指摘することはできません。
var https = require('https');
var fs = require('fs');
...
...
var https_options = {
ca: fs.readFileSync ("/path/to/cabundle.ca-bundle", "utf8"),
key: fs.readFileSync("/path/to/sslkey.key", "utf8"),
cert: fs.readFileSync("/path/to/certificate.crt", "utf8")
};
var app = express();
var server = https.createServer(https_options, app);
....
....
server.listen(8443 or 3333);
を任意のエラーが発生しないサーバの起動:
サーバーは、次のようNodejsのために作成されます。 Nodejsサーバーを呼び出すブラウザからのエラーは表示されません。
洞察が得意です。アリフが、これはApacheの設定によって解決することができることを指摘した後、私は
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
Redirect permanent/https://www.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/html/mysite
Servername www.example.com
SSLEngine on
SSLCertificateKeyFile /path/to/sslkey.key
SSLCertificateFile /path/to/certificate.crt
SSLCertificateChainFile /path/to/cabundle.ca-bundle
<Directory /var/www/html/mysite>
AllowOverride All
Options FollowSymlinks
</Directory>
</Virtualhost>
でのVirtualHost seetingsを追加してい
クライアント側の要求はSSLを有効にして、以下のCOMMにより、プロキシApacheモジュールを逆転するために必要なすべてのhttps://www.example.com:8443
「https://www.example.com:8443」というリクエストを行うには、「https」を使用する必要があります。 'https://www.example.com:8443'をリクエストしている場合は、Apacheの役割はありません。 –
EC2( 'curl -Ik https://127.0.0.1:8443')のnodejsサーバにリクエストできますか?前に 'iptables'にルールを追加しましたか? – ronald8192
@ArifKhan申し訳ありませんが、私の悪い。それはhttps://です... – Sam11