NodeJS Server auf Raspberry Pi ruft keine Funktion auf

364
Ashley

Ich habe derzeit ein Himbeer-Pi, auf dem Raspian OS ausgeführt wird, auf dem ein Node-JS-Server an Port 8080 ausgeführt wird. Ich konfiguriere dann NGINX, um als Reverse-Proxy den ankommenden Port 80-Verkehr bei 8080 an meinen Server weiterzuleiten.

Ich versuche, den Benutzer auf eine HTML-Schaltfläche klicken zu lassen, die dann eine NodeJS-Funktion aufruft, um sie an Google weiterzuleiten. Jetzt denke ich nicht, dass das Problem im Code liegt, denn wenn ich den Server auf meinem lokalen Computer betreibe (kein Nginx erforderlich), funktioniert alles einwandfrei. Wenn ich jedoch versuche, auf den Server, der auf dem Raspberry Pi ausgeführt wird, von meinem lokalen Computer aus zuzugreifen: http://192.168.0.103/Authenticate.html, bedient die HTML-Seite mit der Schaltfläche und dann den Funktionsaufruf http://192.168.0.103 /Authenticate.js gibt mir einen 404-Fehler.

Ich glaube, ich habe etwas falsches Setup in diesem Reverse Proxy, aber ich bin SEHR neu in diesem Bereich, also habe ich keine Ahnung, was. Jede Hilfe wird geschätzt.

NGINX-Standarddatei

 { listen 80; listen [::]:80; root /home/pi/Cortana; server_name _; location / { proxy_pass http://127.0.0.1:8080; try_files $uri 4uri/ =404; } } 

OAuthTest.html

<form method="post" action="/Authenticate.js"> <input type="submit" value="Login with Reddit" > </form> 

OAuthTest.js

const http = require('http'); const request = require('request'); const fs = require('fs'); const express = require('express');  const app = express(); const server = http.createServer(app);  app.get('/', serveDefaultHTML); app.get('/OAuthTest.html', serveAuthHTML); app.post("/Authenticate.js", function(req, res){ console.log("Here"); redirecting(req, res); });   server.listen(8080, function(){ console.log("Listening on http://localhost:8080"); });  function serveAuthHTML(req, res){ fs.readFile("OAuthTest.html", function(err, data){ if (err){ res.writeHead(404, {'Content-Type': 'text/html'}); res.end(err); return; } res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data); }); }  function serveDefaultHTML(req, res){ res.writeHead(200, {'Content-Type': 'text/html'}); res.write("Welcome to my server!") res.end("Request url: " + req.url); }  function redirecting(req, res){ console.log("Redirecting"); res.writeHead(301,  ); res.end(); } 
1

0 Antworten auf die Frage