子域上的Nginx,API(https +重定向)和Vue.js应用程序

时间:2018-01-03 16:05:56

标签: ssl nginx

我需要为在一台物理服务器上运行的三台(可能是四台)服务器配置nginx配置。

我有Rails API和Rails也做服务器渲染html页面+一个单独的Vue.js应用程序。

基本上,我需要两个带有https协议的Rails的nginx服务器,服务器配置看起来像这样(它正在工作:)):

server {
  listen 80;
  server_name example.com;

  return 301 https://$server_name$request_uri;
}

server_names_hash_bucket_size  64;

upstream puma {
  server unix:///home/deploy/apps/example/shared/tmp/sockets/example-puma.sock;
}

server {
  listen 443 ssl;
  server_name www.example.me;

  ssl on;
  ssl_certificate /home/deploy/apps/example/current/certs/cert_chain.crt;
  ssl_certificate_key /home/deploy/apps/example/current/certs/private.key;


  root /home/deploy/apps/example/current/public;

  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  try_files $uri/index.html $uri @puma;

  location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 10M;
  keepalive_timeout 30;
}

所以在这里我需要添加Vue.js应用程序服务器,这里的东西变得混乱并停止工作(它是历史模式下Vue的配置):

server {
  listen 80;
  server_name backoffice.example.me;

  root /home/deploy/apps/example-front;

  index index.html;

  location / {
    try_files $uri $uri/ @rewrites;
  }

  location @rewrites {
    rewrite ^(.+)$ /index.html last;
  }

  location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
    expires max;
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
  }
}

有没有办法让它在一台物理服务器上运行?

0 个答案:

没有答案