I have a nodejs app hosted on WHM/cPanel that uses it's own SSL certificate. Set up:
app.all('*', function (req, res) {
res.redirect('https://' + req.headers.host + req.url);
})
let server = http.createServer(app);
server.listen(port);
const httpsServer = https.createServer(sslFiles, app);
httpsServer.listen(443, () => {
console.log("started")
});
When starting the server up I get the error:
Error: bind EADDRINUSE null:443
There is only one other service running on port 443 which is httpd, I have amended the virtual hosts with a pre-include of:
<VirtualHost 123.4.567.890:443>
ServerName website.co.uk
ServerAlias www.website.co.uk
DocumentRoot /root/public_html/
ErrorLog /root/logs/vherror.log
SSLProxyEngine On
ProxyPass / https://123.4.567.890:3000
ProxyPassReverse / https://123.4.567.890:3000
ProxyPreserveHost On
SSLEngine on
SSLProxyEngine On
SSLUseStapling Off
SSLCertificateFile /root/etc/website.co.uk/ssl/cert.crt
SSLCertificateKeyFile /root/etc/website.co.uk/ssl/theKey.key
</VirtualHost>
This pre-include worked for about 2 weeks and fixed the error but suddenly it has stopped working and I am receiving the port error again and I can't for the life of me figure out why. I'm thinking it might be due to Cloudflare since I've set that up today, but I've turned all Cloudflare settings to DNS only and I still receive the error.
Thanks
question from:
https://stackoverflow.com/questions/65872020/hosting-https-nodejs-server-on-apache-server 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…