通过https nginx网站将http发送到Node服务器

http to a Node server over https nginx website

本文关键字:Node 服务器 http https nginx 网站 通过      更新时间:2023-09-26

是否有可能在一个通常由https保护的网站上与node.js服务器建立http连接?

您建议如何将节点连接与运行在HTTPS上的网站相结合

正如在评论中已经提到的,为node.js应用程序创建代理是很有用的。例如,DigitalOcean提供了一个很好的教程:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04

在本教程中,它展示了主机配置可以像这样:

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://APP_PRIVATE_IP_ADDRESS: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;
    }
}

在本例中,创建了到端口8080的反向代理。通常,该方法可用于每个node.js应用程序。

在你的情况下:在你的https服务器块中添加位置块并修改路由。

对https的支持刚刚添加到node-http-server,它可以同时启动http和https服务器。它也有一些你可以使用的测试证书和一个自签名证书生成指南。

注意,如果您想在端口80和443上启动,您需要运行sudo

在http和https上旋转相同代码的示例:

var server=require('node-http-server');
server.deploy(
    {
        port:8000,
        root:'~/myApp/',
        https:{
            privateKey:`/path/to/your/certs/private/server.key`,
            certificate:`/path/to/your/certs/server.pub`,
            port:4433
        }
    }
);

它非常简单,并且在examples文件夹中有很好的文档和几个示例。