server {
listen 80;
server_name xxx.com;
location / {
proxy_pass http://xxx.cn/;
proxy_redirect default;
}
}
根据端口和 server_name 反向代理。如果都不匹配默认第一个server
使用以上配置之后,虽然能够访问到转发后的地址,但是所有静态资源文件的请求都报404错误,导致反向代理并没有完全成功。
出于nginx的路由路径【/yanggb/】在路由匹配成功之后还会继续往下寻找匹配规则(在上面的配置中找不到)以及在路径中末尾【/】的原因,静态资源的请求地址无法被nginx有效识别,直接导致反向代理失败了,所有的二级地址都没有被代理成功。
解决方法则是修改路由路径的匹配规则(加上往下匹配的通配符【^~】)
location ^~ /xxx/ {
proxy_pass http://xxx.xxx.xxx:9981/;
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_redirect off;
}
代理另外一个网站