基本上,我是第一次将我的网站托管在cPanel上并启用了“ https”。
我的服务器代码在运行的node.js中。 例如: 170.2.23.100:4100 运行完美。
现在,我的问题是从前端https://somesites.com运行时无法向节点服务器发出请求。
如何从https向http(node.js中的后端)发出请求?
请一些指导。
答案 0 :(得分:0)
感谢@DanFromGermany,
最终我必须做反向代理。
因为当我尝试在https中运行节点服务器时,它给出了“不安全”,“返回安全”之类的信息,例如未处理“ Chrome”和“ Mozila”中的错误。因此,最后我实现了反向代理。
两种解决方案:
https中的节点服务器
var fs = require('fs');
var path = require('path');
var https = require('https');
var httpsOptions = {
key: fs.readFileSync(path.join(__dirname, '../../ssl/keys/','server.key')),
cert: fs.readFileSync(path.join(__dirname, '../../ssl/certs/','server.crt'))
};
var server = https.createServer(httpsOptions,app).listen(port, host, function (request, response) {
console.log("Server listening", host, port);
});
使用.htaccess的反向代理设置:
Header set "Access-Control-Allow-Origin" "*"
RewriteEngine On
RewriteRule ^$ http://170.2.23.100:4100/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://170.2.23.100:4100/$1 [P,L]
也许会有所帮助。