Nginx - 将子文件夹定向到不同的服务器
Nginx - Direct sub-folder to different server
我有一个 PHP/MySQL 网站托管在 Ubuntu 16.04 服务器上,例如在域 www.website.com 上,我想同一域的 "sub-folder",托管在单独的服务器上。
例如:
http://www.website.com is hosted on server IP 1.1.1.1
我想
http://www.website.com/another-site/ to be hosted on server IP 2.2.2.2
两个网站都是 PHP/MySQL,两个服务器都是 Ubuntu 16.04,我正在使用 Nginx 服务器块来管理域。
我在 1.1.1.1 上进行了以下设置并取得了一些成功,但它似乎无法完全正常工作,图像和 css 站点 404 上的文件:
location /another-site {
proxy_pass http://2.2.2.2:80;
proxy_set_header Host another-site.dev;
proxy_set_header X-Forwarded-For $remote_addr;
}
然后在2.2.2.2服务器上:
server {
listen 80;
server_name another-site.dev;
root /var/www/another-site;
index index.php;
...
我的思路是否正确,或者是否有更简单的方法来实现这一点?如果可以的话,我不想求助于将两个站点都放在同一台服务器上。
proxy_pass http://2.2.2.2:80;
需要在末尾添加斜杠 proxy_pass http://2.2.2.2:80/;
或它只加载索引。
我有一个 PHP/MySQL 网站托管在 Ubuntu 16.04 服务器上,例如在域 www.website.com 上,我想同一域的 "sub-folder",托管在单独的服务器上。
例如:
http://www.website.com is hosted on server IP 1.1.1.1
我想
http://www.website.com/another-site/ to be hosted on server IP 2.2.2.2
两个网站都是 PHP/MySQL,两个服务器都是 Ubuntu 16.04,我正在使用 Nginx 服务器块来管理域。
我在 1.1.1.1 上进行了以下设置并取得了一些成功,但它似乎无法完全正常工作,图像和 css 站点 404 上的文件:
location /another-site {
proxy_pass http://2.2.2.2:80;
proxy_set_header Host another-site.dev;
proxy_set_header X-Forwarded-For $remote_addr;
}
然后在2.2.2.2服务器上:
server {
listen 80;
server_name another-site.dev;
root /var/www/another-site;
index index.php;
...
我的思路是否正确,或者是否有更简单的方法来实现这一点?如果可以的话,我不想求助于将两个站点都放在同一台服务器上。
proxy_pass http://2.2.2.2:80;
需要在末尾添加斜杠 proxy_pass http://2.2.2.2:80/;
或它只加载索引。