直接上配置样例。具体参考官网文档:http://nginx.org/en/docs/
upstream services_name {
server ip or dns;
}
--这里设置上游服务器的地址,下面用services_name来引用它。
server {
listen 8282;
server_name localhost;
location /app1_url/ {
root html;
index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
----通过proxy_pass 命令来把对http://localhost:8282/app1_rul/ 代理到下面这个地址:
proxy_pass http://services_name/app1_url/;
}
location /app2_url/ {
root html;
index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
----通过proxy_pass 命令来把对http://localhost:8282/app2_rul/ 代理到下面这个地址:
proxy_pass http://services_name/app2_url/;
}
location /css_url/ {
root css;
index main.css;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
----通过proxy_pass 命令来把对http://localhost:8282/css_rul/ 代理到下面这个地址:
proxy_pass http://services_name/css_url/;
}
}
--在server里面设置多个location,location的意思是用户通过这个url就代理到代理的地址去。
配置解释:
1.访问:http://localhost:8282 访问的是Nginx的欢迎首页
2.访问:http://localhost:8282/app1_url/ 代理到http://services_name/app1_url/
用户访问的url 必须完整匹配 /app1_url/ 才能跳转到代理去。这样就隐藏了 /app1_url/中间的地址。
由于app的页面中有另外的url连接到css文件,所以,还要增加一个location专门代理css。