NodeJS: webapps afschermen met externe authenticatie

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 20-09 15:28
Ik heb op mijn ubuntu server diverse webapplicaties draaien op verschillende poorten:
  • Couchpotato (5050)
  • Transmission(9091)
  • etc etc
Nu zou ik vanaf buiten mijn netwerk alleen op deze applicaties kunnen als ik deze poort op mijn router open zet. Teminste, dat dacht ik tot kort, totdat ik het begrip Proxypassing meekreeg tijdens een gesprek.

Dit zette mij op het idee om naar deze webapplicaties te verwijzen via mijn eigen domein! Dus als ik naar MIJNDOMEIN.nl/couchpotato ga, dan kom ik op mijn couchpotato. Heel leuk allemaal maar niet echt veilig.

Sinds kort ben ik ook een beetje een het klooien met node.js. Ik heb een zeer duidelijke tutorial ( YouTube: Everything You Ever Wanted To Know About Authentication in Node.js ) gevolgt over het maken van authenticatie pagina en ik had het idee dat ik het een beetje door kreeg.

Het enige wat mijn nog niet lukt is het essentiele deel van mijn "projectje", het redirecten naar de betreffende port..

Ik had het idee om het zo te doen:

app.get('/couchpotato', function(req,res){
//redirect to 127.0.0.1:5050
});

Alleen snap ik niet hoe ik fatsoenlijk naar deze andere port kan verwijzen. Mijn vraag is of ik op de goede weg zit. Mocht ik helemaal verkeerd zitten hoor ik dat ook graag:) _/-\o_

Acties:
  • 0 Henk 'm!

  • Mark6
  • Registratie: Januari 2015
  • Laatst online: 05-02 13:20
Ik weet niet precies wat je allemaal van plan bent en ben absoluut geen nodejs guru, maar dit is volgens mij waar je naar op zoek bent:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
var http = require('http');

http.createServer(function (req, res) {
  http.get("http://tweakers.net", function(r){
    r.on('data', function(chunk){
        res.write(chunk);
    });

    r.on('end', function(){
        res.end();
    });
  });
}).listen(8000); 

Acties:
  • 0 Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Nu online

Pizzalucht

Snotneus.

Waarom zou je dit via NodeJS doen?
Het is veel makkelijker om dit via Apache of NGINX te doen, dan komt er alleen maar configuratie bij kijken:
https://couchpotato.tenderapp.com/kb/tips/reverse-proxy