完整版nginx反向代理配置
作者:lizhonglin
github: https://github.com/Leezhonglin/
blog: https://leezhonglin.github.io
项目发布了只提供了一个ip和端口使用。要完成前后分离项目的部署,因此需要把后端服务代理到前端访问的域名和端口上去,因此用上了nginx的反向代理。
我们找到了nginx的配置文件defalut.conf配置文件
upstream project{
server 127.0.0.1:9090;
}
server {
listen 80;
server_name 127.0.0.1 localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
#location / {
# root /usr/share/nginx/html;
# index index.html index.htm;
#}
## 前端vue的配置
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ @router;
index index.html;
}
location @router {
rewrite ^.*$ /index.html last;
}
error_page 404 /404.html;
location = /40x.html{
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
}
# 反向代理后端服务到前端访问地址上面的 apis上面
location ^~/apis/ {
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;
# 重写url
rewrite ^/apis/(.*)$ /$1 break;
proxy_pass http://project;
}
}
这样代理以后前端访问后端服务的地址就是
域名/ip:80/apis/