nginx拦截传输解决了axios请求接口api的域间问题,并在前端部署期间遇到了axios的域间问题。
域间的问题可以在后端解决。 这里介绍一下在前端解决的方法。 (本来不帮nginx安装前端不是很好的前端吗?
教程包括
1.windows安装nginx https://nginx.org/en/download.html
我在stable版本上安装了nginx/Windows-1.18.0 PGP
安装后,将其解压缩到软件工作区所在的文件夹中
2 .使用vs代码修改配置(其他编译软件也可以) )。
找到nginx-1.18.0
康夫
nginx.conf
打开后,此位置http{
include mime.types;
efault _ type应用程序/octet-stream;
.
}
此时,服务器{ } TLD YF已经存在。 请不要动那个。 在后面添加以下代码块。千万不要放错位置!不要在文件中随便添加空格!
服务器{ listen 8000; server_name localhost; 位置/{ proxy _ pass http://部署位置; }位置/api { proxy _ pass http://接口位置/API; }如果部署位置位于本地,则使用vscode插件打开并复制即可。
此代码意味着当您请求前缀为你需要部署的位置的url时,nginx服务将拦截您的请求,并将其相应地转发到localhost:8000端,您可以使用http://www
3 .启动/nginx,右键单击nginx-1.18.0,在内置终端上打开,然后键入./nginx或./nginx.exe。 如果发生错误,请尝试打开nginx文件夹,然后双击nginx.exe。 但是,不建议使用此方法,因为它可能在后台打开多个nginx。
错误的原因可能是使用接口的位置/api或中文命名文件夹路径。 建议解决报告错误的问题。
当nginx服务器启动并打开网页时,localhost将变成这样。 这表示nginx已成功启动
这里介绍一些nginx命令
#强制停止nginx服务器,放弃nginx -s stop# (如果有未处理的数据)优雅地停止nginx服务器,如果有未处理的数据,请等待处理完成,然后停止重新加载nginx -s quit# (如果有)
var but=document.getelementbyid (id1 ); but.onclick=function () axios ) method: ) post,URL :653358 localhost :8000/API /接口后缀(,data: ) ); }此时打开localhost:8000,会显示导入的页面