0

我开发了具有 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;
        }
}
4

1 回答 1

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

于 2019-04-07T14:57:06.533 回答