前后端分离nginx配置,同时解决跨域问题

时间:2021-08-24 21:05:28

背景

现在,web开发的前后端分离技术越来越火爆,由于最近的课程设计使用了前后端分离的方案,这里就来记录一下前后端分离的项目部署。这里我们使用的前端框架是react,后台使用ssm提供数据接口。

nginx

nginx (engine x) 是一个高性能的HTTP和反向代理服务器,这里我们使用nginx来作为前端页面的静态服务器。

思路

前端部署

nginx作为静态服务器部署前端代码

后端部署

tomcat作为后台服务器部署数据服务

nginx反向代理

将发往nginx服务器的数据请求发送到tomcat服务器

代码

worker_processes  1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name tosim.top;

location / {
root html/build;
try_files $uri /index.html; # try_files:检查文件; $uri:监测的文件路径; /index.html:文件不存在重定向的新路径
index index.html;
}

location /api/ {
# 把 /api 路径下的请求转发给真正的后端服务器
proxy_pass http://localhost:18080/;

# 把host头传过去,后端服务程序将收到your.domain.name, 否则收到的是localhost:8080
proxy_set_header Host $http_host;

# 把cookie中的path部分从/api替换成/service
proxy_cookie_path /api /;

# 把cookie的path部分从localhost:8080替换成your.domain.name
proxy_cookie_domain localhost:18080 tosim.top;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}