在 nginx 中重新定位应用程序

在 nginx 中重新定位应用程序

我的应用程序在二级域名(例如 example.com)上运行。以下是位于 sites-enabled 中的文件:

upstream unicorn {
  server unix:/tmp/unicorn.appname.sock fail_timeout=0;
}

server {
  server_name example.com, www.example.com;
  listen 00.000.000.000;
  root /home/deployer/apps/appname/current/public;

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

  try_files $uri/index.html $uri @unicorn;
  location @unicorn {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://unicorn;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;

}

运行正常。
现在我想将应用程序移至admin.example.com/applicationname

我可以简单地将 server_name 更改为 吗admin.example.com/applicationname,或者应该以不同的方式完成?

答案1

现在我想将应用程序移至 admin.example.com/applicationname

为了清楚起见——在哪里?

我可以简单地将 server_name 更改为 admin.example.com/applicationname 吗,或者应该以不同的方式完成?

你可以,但它根本不起作用——服务器名称应该只包含 URI 的域部分。

我可以假设你真正想问的是将应用程序从“/”移动到“/子文件夹”,在这种情况下特殊部分为您提供的文档:“…

如果 proxy_pass 指定了 URI,则在向服务器传递请求时,与位置匹配的规范化请求 URI 的一部分将被指令中指定的 URI 替换:

location /name/ {
proxy_pass http://127.0.0.1/remote/;
}

…”

相关内容