Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 带有nodejs的Google Compute Engine上的SSL大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
摘要

我正在尝试在Google的计算引擎(GCE)上设置一个Node.js服务器以使用httpS,但是当通过https:// ….访问时,远程服务器似乎没有响应

到目前为止我尝试了什么:

我从Comodo获得了一个证书,将它放在后端,将其包含在代码中,并创建了一个httpS服务器,如下所示:

var app = express();
var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('server.key'),cert: fs.readFileSync('server.crt'),};

...
        https.createServer(options,app).listen('443',function(){
                console.log('https ready')
        });

我还添加了以下防火墙规则:

gcloud compute firewall-rules create allow-https --description "https server" --allow tcp:443
--format json

当我在本地计算机上运行服务器并尝试使用https:// localhost:443通过Chrome访问它时,我得到了预期的结果:

这意味着服务器已正确配置为能够识别https请求,但由于证书不属于localhost,因此会导致警告.

问题:

当我在与证书关联的域名上运行的GCE实例上运行相同的代码时,我得不到服务器的响应.此外,根据tcpdump,在正确的端口上有传入的https流量:

node.js – 带有nodejs的Google Compute Engine上的SSL

我使用以下结果运行netstat -ltnp:

>当我使用上面显示HTTPS配置运行服务器时,没有443端口的记录.
>当我在端口8080上使用http配置运行服务器时,该端口有一条记录,一切正常.
>当我使用httpHTTPS配置(侦听端口8080和端口443)运行服务器时,两者都没有记录,并且根本没有来自服务器的响应…

我的问题是:如何让我的GCE实例响应https请求?我还应该做什么或测试什么?

发现了关于这个主题的几个问题(q1,q2,q3,q4),似乎我做了那里推荐的所有事情,但我的问题仍然存在.

解决方法

您可能以非root用户身份运行服务器,但无法绑定到端口443(这是一个特权端口).

大佬总结

以上是大佬教程为你收集整理的node.js – 带有nodejs的Google Compute Engine上的SSL全部内容,希望文章能够帮你解决node.js – 带有nodejs的Google Compute Engine上的SSL所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。