如何向HTTP发出请求https?

时间:2018-10-22 17:41:29

标签: node.js shared-hosting

基本上,我是第一次将我的网站托管在cPanel上并启用了“ https”。

我的服务器代码在运行的node.js中。 例如: 170.2.23.100:4100 运行完美。

现在,我的问题是从前端https://somesites.com运行时无法向节点服务器发出请求。

如何从https向http(node.js中的后端)发出请求?

请一些指导。

1 个答案:

答案 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]

也许会有所帮助。