最近有这个一个问题,只有一个域名但是需要部署前后端,前端很容易理解,做一个转发就可以了,但是后端总不能直接暴露ip吧,所以也需要利用nginx处理一下转发,那就合并在一起做了吧
server {
# 80端口, 如果是https就是 443
listen 80;
# 配置的服务名称/域名
server_name xxx.com;
charset utf-8;
# 缓存的服务地址
add_header X-Via $server_addr;
# 缓存的状态 用于区分访问的资源是缓存的还是加载的
add_header X-Cache $upstream_cache_status;
# 如果 root 配置在location内的话可能会不生效
root /www/dist
location / {
try_files $uri $uri/ /index.html;
index index.html;
}
# 转发的后端 htpps://xxx.com/api/
location /api/ {
proxy_set_header X-Real-IP $remote_addr;
# 缓存名称
proxy_cache tmpcache;
# 需要缓存的数据状态 需要缓存保留的时间
proxy_cache_valid any 1h;
# 代理地址
proxy_pass http://127.0.0.1:8080;
}
}
在这种情况下比如访问前端的地址是 http://xxx.com
那么后端的访问地址应该是 htpps://xxx.com/api/
追加了api做为请求的后缀,这个接口的地址命名需要注意最好不要出现在前端的路由中,否则会产生问题