在nginx中配置同一个域中的多台服务器

需要配置nginx在同一个域中有多个服务。

我的 nginx.conf 文件如下

server {
   listen 80;
   listen [::]:80;
   server_name www.example.com example.com;
   access_log  /var/log/nginx/host.access.log  main;

   location ^~ /.well-known/acme-challenge/ {
     alias /var/www/acme-challenge/;
   }
   return 301 https://$host$request_uri;
}

server {
   listen 443;
   listen [::]:443;
   server_name www.example.com example.com;

   ssl_certificate      /etc/letsencrypt/live/example.com/fullchain.pem;
   ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;
   ssl on;
   access_log  /var/log/nginx/host.access.log  main;
#
# # Enable server-side protection against BEAST attacks
#   ssl_protocols TLSv1.2;
#
   ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

   location ^~ /.well-known/acme-challenge/ {
     alias /var/www/acme-challenge/;
   }

   location /cms/ {
       proxy_pass http://cms-container:1337;
       rewrite ^/sdcms/?(.*)$ /$1 break;
       proxy_set_header   Host $host;
       proxy_set_header   X-Real-IP $remote_addr;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Host $server_name;
       proxy_redirect     off;
   }

   location /chat {
       proxy_pass http://chat-container:3000;
       proxy_set_header   Host $host;
       proxy_set_header   X-Real-IP $remote_addr;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Host $server_name;
       proxy_redirect     off;
   }

   location /auth {
       proxy_pass http://auth-container:8080;
       proxy_set_header Host $host;
       proxy_set_header   X-Real-IP $remote_addr;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Host $server_name;
       proxy_redirect     off;
   }

   location /service {
       proxy_pass http://service-container:3000;
       proxy_set_header Host $host;
       proxy_set_header   X-Real-IP $remote_addr;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Host $server_name;
       proxy_redirect     off;
   }

   location / {
       proxy_pass http://web:8060/;
       proxy_set_header   Host $host;
       proxy_set_header   X-Real-IP $remote_addr;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Host $server_name;
       proxy_redirect     off;
   }
 }

在这里,baseurl (/) 工作正常。我们只能在初始加载时看到其他服务页面(/auth、/cms、/chat、/services)。当我们尝试访问页面时,它会从 baseurl 应用程序抛出错误“找不到页面”。

以上是在nginx中配置同一个域中的多台服务器的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>