如何配置 AWS Elastic Beanstalk Nodejs Nginx Web 服务器以服务于 nodejs 应用程序以及使用 Angular 构建的静态应用程序?

问题描述 投票:0回答:0

我正在使用 AWS Beanstalk 使用 Procfile 运行 Nodejs 18 nginx 服务器,它正在运行。
我尝试使用 Nginx 配置文件对其进行配置,以显示其他静态文件以及使用 Angular 构建的单页应用程序,但服务器无法返回它们。

这些是我的 nginx conf 文件。

在 nginx.conf

#Elastic Beanstalk Nginx Configuration File

user                    nginx;
error_log               /var/log/nginx/error.log warn;
pid                     /var/run/nginx.pid;
worker_processes        auto;
worker_rlimit_nofile    31486;

events {
    worker_connections  1024;
}

http {
    server_tokens off;

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    include       conf.d/*.conf;

    map $http_upgrade $connection_upgrade {
        default     "upgrade";
    }

    server {
        listen        80 default_server;
        access_log    /var/log/nginx/access.log main;

        client_header_timeout 60;
        client_body_timeout   60;
        keepalive_timeout     60;
        gzip                  off;
        gzip_comp_level       4;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        # Include the Elastic Beanstalk generated locations
        include conf.d/elasticbeanstalk/*.conf;
    }
}

在 conf.d/elasticbeanstalk/application.conf

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

location /singlePageApp/ {
  if (!-e $request_filename){
    rewrite ^/singlePageApp/(.*)$ /singlePageApp/index.html break;
  }
}

location /nodeApp/ {
    # Proxy requests to Node.js app running on port 8080
    proxy_pass          http://127.0.0.1:8080;
    proxy_http_version  1.1;

    proxy_set_header    Connection          $connection_upgrade;
    proxy_set_header    Upgrade             $http_upgrade;
    proxy_set_header    Host                $host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
}
node.js amazon-web-services nginx amazon-elastic-beanstalk
© www.soinside.com 2019 - 2024. All rights reserved.