【问题标题】:How to use https connection in nodejs?如何在nodejs中使用https连接?
【发布时间】:2017-03-09 12:23:52
【问题描述】:

我正在使用 Nginx+PHP 设置来运行具有 80 端口的 PHP 页面。并且还使用带有 8080 端口的 nodejs。现在我想为 Nodejs 连接 SSL(https) 连接。

这怎么可能实现?请。

【问题讨论】:

  • 本地对吗?
  • 本地是的.....
  • 你会为 nodejs 使用 express 还是只使用 node.js
  • 由于 Stack Overflow 向您隐藏了关闭原因:“要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack 来说是题外话溢出,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。”
  • 没有快递...只是 PHP 页面中的 nodejs。

标签: php node.js ssl https


【解决方案1】:

你有两种可能性来实现你想要做的事情:

1.通过 Nginx 设置 SSL

这样您也可以在您的 PHP 网站上使用您的 SSL 证书。为此,您必须在/etc/nginx/sites-enabled/foo 的虚拟主机文件中设置一些规则。 在以下示例中,我创建了一个子域 api.lvh.me(lvh.me 重定向到 localhost)

server {
     listen 443 ssl;
     server_name api.lvh.me;

     ssl_certificate /path/to/certificate.crt;
     ssl_certificate_key /path/to/certificate.key;

     location / {
         proxy_pass http://127.0.0.1:8080/;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection 'upgrade';
         proxy_set_header Host $host;
         proxy_cache_bypass $http_upgrade;
     }
}

2。直接在你的 Nodejs 服务器上设置 HTTPS

我就不赘述了,一切都写在Nodejs的文档上(HTTPS Nodejs Documentation

【讨论】:

  • "proxy_pass" 不能在正则表达式给出的位置、命名位置、“if”语句或 /etc/nginx/nginx.conf 中的“limit_except”块中包含 URI 部分: 64 nginx:配置文件/etc/nginx/nginx.conf测试失败
  • 我想在 PHP 页面中使用 nodejs。
  • var url = window.location.host; var socket = io.connect('http://' + url + ':8080', {secure: true});
猜你喜欢
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-01
  • 2018-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多