Problem polega na tym, że mamy jedną nazwę domeny, ale mamy dwa serwery w dwóch różnych technologiach. Przykład: NodeJS i Tomcat Server. Ale chcę, aby użytkownik wpisał nazwę domeny, aby przenieść ją do serwera NodeJS i kliknąć przycisk logowania na stronie, aby został przekierowany na serwer tomcat. Ale nazwa DNS nie powinna się zmieniać.

Przykład: Domain Name - example.com

1) nodeJs server :: on port 3000 2) Tomcat server :: on port 8080

Kiedy użytkownik odwiedza example.com. Node Js powinien odpowiedzieć. Ale jeśli kliknę przycisk, taki jak login, powinienem przejść do tomcat (URL: example.com/login)

1
Rajan 20 listopad 2019, 14:25
Czy masz na myśli dwa serwery internetowe hostowane na tym samym komputerze hosta?
 – 
Sharon Ben Asher
20 listopad 2019, 14:29
1
Tak, mamy pojedynczy serwer AWS działający w systemie Linux, na którym działają Tomcat i Nodejs.
 – 
Rajan
20 listopad 2019, 14:31
Możesz przekierować za pomocą jawnego numeru portu example.com:8080/login
 – 
Sharon Ben Asher
20 listopad 2019, 14:35
1
Ale nie chcę dodawać ani pokazywać numeru portu w adresie URL witryny. Jakakolwiek inna opcja, proszę daj mi znać ??
 – 
Rajan
20 listopad 2019, 14:40

2 odpowiedzi

W tym miejscu może być konieczne użycie serwera odwrotnego proxy i skonfigurowanie go do żądań proxy do dwa serwery aplikacji. Możesz skonfigurować zwrotny serwer proxy ze ścieżką /login, aby wywoływać serwer Tomcat. Zalecam korzystanie z ngnix, ale popularny jest również serwer httpd Apache. Jeśli używasz nginx, twoja konfiguracja może wyglądać mniej więcej tak:

server {
    listen       80;
    server_name  domain2.com;
    access_log   logs/domain2.access.log  main;

    # pass request to the tomcat server
    location /login {
      proxy_pass  http://127.0.0.1:8080;
    }

    # pass request to the node server
    location / {
      proxy_pass  http://127.0.0.1:3000;
    }
  }
1
Christopher Schultz 21 listopad 2019, 00:00
1
Czy muszę określić wszystkie trasy, dla tomcat i NodeJS?
 – 
Rajan
20 listopad 2019, 14:59
Jeśli podąża za określonym wzorcem, takim jak /nodejs/[anything] dla usługi nodejs i tak dalej, nie powinieneś. W przeciwnym razie tak, musisz.
 – 
Janith
20 listopad 2019, 19:37

Użyj subdomen i ustaw usługę DNS tak, aby wskazywała je na różne adresy IP.

Example.com> nodeJs IP login.example.com> Tomcat IP

Pozwala to uniknąć pokazywania numeru portu lub czegokolwiek innego, użytkownik zobaczy po prostu słowo „login” w innym miejscu - login.example.com zamiast example.com/login

0
user3353751 20 listopad 2019, 14:43