在 Nginx 中的两个端口上配置同一服务器中的两个应用程序

在 Nginx 中的两个端口上配置同一服务器中的两个应用程序

我有两个不同的应用程序。

  1. 使用 express 框架构建的调查应用程序
  2. 使用 rest api 和 react 的 Django 应用程序

我想实现:

vardhan.com/survey、vardhan.com/feedback 等关于调查申请和

django 应用程序上的 vardhan.com/ 和 vardhan.com/login

两条路线都在不同端口的本地各自应用程序中运行

这在生产中可能吗?

请告诉我如何在 Nginx 中配置这一点。

答案1

如果您的应用程序的后端在特定端口上运行,例如:

  1. 调查应用端口 3000
  2. Django 应用端口 1000

您可以使用 nginx proxy_pass,参考:https://linuxize.com/post/nginx-reverse-proxy/

这只是一个例子:

server {
        server_name vardhan.com;

        location / {
          proxy_pass http://localhost:1000; #Django
          proxy_headers_hash_max_size 512;
          proxy_headers_hash_bucket_size 64;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          add_header Front-End-Https on;
        }
        location /survey {
          proxy_pass http://localhost:3000; #Survey
          proxy_headers_hash_max_size 512;
          proxy_headers_hash_bucket_size 64;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          add_header Front-End-Https on;
        }

}

如需更多信息,也许这个解决方案可以帮助您:https://stackoverflow.com/a/45944752/10585581

相关内容