Próbuję uruchomić aplikację Node.js na porcie 80 nasłuchiwania serwera Apache tutaj jest mój plik Virtualhost:
<VirtualHost *:80>
ServerName mikus
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ProxyPreserveHost On
ProxyPass /node http://localhost:8000/
ProxyPassReverse /node http://localhost:8000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Oto mój plik app.js:
var express = require("express");
var app = express();
app.get("/node", function(req, res) {
res.setHeader("Content-Type", "text/plain");
res.end("Welcome apache");
});
app.listen(8000, "localhost");
I kiedy ja próbuję uruchomić aplikację"localhost / node" lub ip_adress / node, Mam błąd 502 proxy: Serwer proxy odebrał nieprawidłową odpowiedź z serwera nadrzędnego. Serwer proxy nie mógł obsłużyć żądania GET / węzła.
Przyczyna: Błąd wyszukiwania DNS dla: localhost
Serwer Apache / 2.4.7 (Ubuntu) na 127.0.0.1 Port 80.
Dzięki.
Odpowiedzi:
0 dla odpowiedzi № 1Włącz proxy w app.js
:
app.enable("trust proxy");
I napraw uri dla poprawnej trasy w pliku node.js:
ProxyPass /node http://localhost:8000/node
ProxyPassReverse /node http://localhost:8000/node
0 dla odpowiedzi nr 2
localhost może być adresem IPv6, spróbuj 127.0.0.1 insteed