在项目开发结束进行部署实施的时候我们往往需要进行服务的转发,这时就需要使用到nginx进行反向代理了。
在使用nginx做反向代理的时候,有三种常用的方案(第一种是常见的一种,而第二和第三种方案则有共同性):
方法一:只替换域名(即使用用户要访问的域名替换掉服务器的IP加端口)
例:访问test.com/info/csdn.html 转发到 localhost:8080/info.html
upstream domain {
server localhost:8080 weight=5;
}
server {
listen 80;
server_name test.com;
access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main;
location / {
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_set_header X-NginX-Proxy true;
proxy_pass http://domain;
}
}
一个项目有时候是有很多个服务组成,这时候我们就需要根据url前缀转发到不同的服务
例:
test.com/prod/profile.html转发到 用户服务loca