我有一个应用程序,其中管理端是以角度构建的,但前面的消费者面对的不是..并且生活在不同的服务器上。
我希望访客来访:
domain.com/#/admin => angular app
但如果他们得到:
domain.com
这将转到其他服务器
这可能吗?
感谢。
为了更清晰一点,我认为我需要的是:
我有一个rails应用程序作为角消耗的api。 Rails存在于服务器A上,Angular存在于服务器B上。
两台服务器都使用nginx作为Web服务器。
此外,rails应用程序会提供自己的内容,因此我希望admin
以外的任何路径都可以转到rails。
我想要的是如果用户去:
mydomain.com - >他们点击了服务器A上的rails app和内容
当他们去:
mydomain.com/admin或mydomain.com/#/admin - >他们点击服务器B上的角度应用程序
我想我几乎已经在rails服务器上使用以下nginx配置,服务器A:
upstream serverA {
server rails;
server unix:///var/www/rails/shared/tmp/sockets/puma.sock;
}
upstream serverB {
server angular;
}
server {
listen 80;
server_name serverA;
root /var/www/rails/current/public;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://serverA;
}
location ~* ^/assets/ {
expires 1y;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
location /admin/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://serverB/#/;
}
}
虽然这让我很接近,但我找不到我的角度index.html文件引用的角度脚本和样式。