我的应用程序在二级域名(例如 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/;
}
…”