如果不是分离项目,内网穿透很简单。
但如果是前后端分离,两个都有对应端口,如果分别映射,会发现跨域错误。
但是本地都正常。经过查询方案得知需要ngnix去包装一下
(因为没钱搞服务器,而且有些到期后续费比较贵……)
部署前后端项目通常需要通过Nginx来实现前后端的反向代理。在本地开发环境中,你可以使用`cnpm run dev`来启动前端项目,使用Flask来启动后端项目。下面是一个简单的示例配置,假设前端项目运行在3000端口,后端项目运行在5000端口。
首先,在Nginx的配置文件中添加以下内容:
```nginx
server {
listen 80;
server_name your_domain.com;
location / {
# 配置前端项目的反向代理
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /api/ {
# 配置后端项目的反向代理
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
以上配置假设你的域名为`your_domain.com`,并且前端项目的API请求路径以`/api/`开头。配置文件中的`proxy_pass`指令将请求代理到对应的端口上,并且设置了一些HTTP头信息。
保存配置文件后,重新加载Nginx使其生效:
```bash
sudo nginx -s reload
```
这样,当访问`http://your_domain.com`时,Nginx会将请求转发到前端项目,而访问`http://your_domain.com/api/`时,Nginx会将请求转发到后端项目。
记得修改`your_domain.com`为你实际的域名或者IP地址。