繁体   English   中英

远程访问 node.js

[英]Remote access to node.js

我想使用 webbrowser 远程运行我的 python 脚本。在我的 LAN 服务器上,我安装了 node.js。 如果我通过服务器上的 webbrowsrer 启动这些脚本,一切正常。 如果我尝试在远程机器上启动脚本,我看不到任何响应,但在服务器脚本上启动(请求没有响应?)。 在服务器上安装的代理 nginx 也没有任何帮助。 总之,应用程序只能从本地主机访问,不能从远程机器访问。

此时,我的脚本应用程序只能从本地主机访问。 我无法从远程机器访问它。

Node.js index.js 文件是:

    const express =  require('express');
    const { spawn } = require('child_process');
    const app = express();
    const port = 8811;

    app.get('/script', (req, res) => {
        let data1;
        const pythonOne = spawn('python3', ['script.py']);
        pythonOne.stdout.on('data', function(data){
            data1 = data.toString();
        })

        pythonOne.on('close', (code) => {
            console.log("code", code)
            res.send(data1);
        })  
    })

    app.listen(port, () => console.log('node python script app listening        on port ' + port));

我的服务器是 192.168.1.161 在服务器上使用http://192.168.1.161:8811/script,script.py启动正常。 在远程机器上使用http://192.168.1.161:8811/script script.py 启动,但仅在服务器上。

另外安装了带有 script.conf 文件的 nginx:

    upstream backend {
    server localhost:8811;
    keepalive 32;
    }
    server {
    listen 8500;
    server_name script.example.com;
    location / {
        client_max_body_size 50M;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_pass http://backend;
    }       
    }

现在,在服务器 script.py 上使用http://192.168.1.161:8500/script开始正常。 在远程机器上使用http://192.168.1.161:8500/script script.py 启动,但仅在服务器上。

任何答案将不胜感激。

绑定节点全部在 0.0.0.0

app.listen(port,'0.0.0.0' () => console.log('node python script app listening        on port ' + port));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM