【问题标题】:Use nginx routing for both back-end and front-end后端和前端都使用 nginx 路由
【发布时间】:2019-04-07 12:17:11
【问题描述】:

我开发了具有 Angular 前端和 Springboot 后端作为组件的应用程序。我安装了 Nginx 并将 /dist 文件夹内容复制到 /var/www/html。它运行良好,前端在端口 80 中提供服务。现在我需要在端口 80 中提供后端服务,该后端目前在 8080 中运行,其 URL 中包含“api”部分。这将允许我的后端在不使用单独端口的情况下调用 api 端点。这是我的/etc/nginx/sites-available/default 文件。我在该文件中添加了以下部分。但它不起作用。

   server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
            try_files $uri $uri/ /index.html =404;
        }
    }

server {
        listen 80;
        listen [::]:80;

        server_name example.com;

        location / {
             proxy_pass http://localhost:8080/;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_set_header X-Forwarded-Port $server_port;
        }
}

【问题讨论】:

    标签: angular spring-boot nginx port80


    【解决方案1】:

    `

    server {
        listen 9090;
            server_name 192.168.10.10;
            index index.html;
    
            location /api/v1/ {
                    proxy_pass http://127.0.0.1:8080; #api ip and port
                    proxy_http_version 1.1;
                    proxy_set_header Connection "";
                    proxy_set_header X-Real-IP     $proxy_add_x_forwarded_for;
            }
            location /{
                    root /user/dist; # path of angular application upto dist
                    try_files $uri $uri/ /index.html;
           }
    }
    

    `

    点击网址http://192.168.10.10:9090

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-05
      • 2020-11-07
      • 2016-01-29
      • 2021-05-19
      • 2010-12-14
      • 2022-01-01
      • 1970-01-01
      • 2017-12-20
      相关资源
      最近更新 更多