0


前后端分离项目(后端C#,前端Vue)在Windows通过IIS部署遇到的问题

前后端分离项目(后端C#,前端Vue)在Windows通过IIS部署遇到的问题

后端:

1.Dotnet版本不对

​ 文件的dotnot版本默认的是.NET 6.0,但是我的系统是.NET8.0,导致无法启动.

​ 解决方法:尝试下载.NET6.0版本,但是下的不对,需要Microsoft.AspNetCore.App 6.0

把项目的.csproj 的配置从6.0改成8.0,能够启动

2.数据库连不上

数据库配置:

  "ConnectionStrings": {
    "conn_db_type": "0", //数据库类型 MySql = 0, SqlServer = 1
    "conn_db": "Data Source=localhost;port=3306;User ID=root;Password=root;Database=device_cloud;CharSet=utf8;sslmode=none;Max Pool Size=70;Pooling=true;Connection Reset=false;Connect Timeout=25;",
    "conn_db_device": "Data Source=localhost;port=3306;User ID=root;Password=root;Database=device_cloud;CharSet=utf8;sslmode=none;Max Pool Size=20;Pooling=true;Connection Reset=false;Connect Timeout=25;"
  },

报错:

 执行SQL出错:中文提示 :  连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:Host '218.19.14.194' is not allowed to connect to this MySQL server.
English Message : Connection open error . Host '218.19.14.194' is not allowed to connect to this MySQL server

解决方法:

1.修改本地文件MySQL的my.ini文件,加了bind-address = 0.0.0.0, 以允许来自所有 IP 的连接.

2.配置MySQL用户权限:给root用户添加了

'root'@'218.19.14.194'

以及

'root'@'%'

两个主机记录,这意味着理论上您应该能够从IP地址

218.19.14.194

成功连接到MySQL服务器。

3.在防火墙里TCP端口3306的入站连接.

4.以上操作完成后要在命令行services.msc里重启MySQL服务.

解决方法:

appsetting.json

的数据库链接而不是部署的

appsettingdevelopment.json

.

3.端口是80,无法启动,权限不够

连接80端口需要高权限

解决方法:把配置文件里的接口换成没用过的接口(8888)

4.IIS AspNetCore Module V2报错

总共有三条,包含具体信息的一条:

Could not find 'aspnetcorev2_inprocess.dll'. Exception message:

解决方法:后端的应用程序池出了问题,正确配置如下,启动成功后可以通过192.168.50.3:8888成功访问后端.

image-20240924094654649

前端:

前端同样用IIS部署,通过在web storm里或文件的cmd里执行npm run build,文件会保存到dist目录下,如下图所示:

image-20240924095038958

把文件复制粘贴到服务器上,利用IIS部署,端口为8887.

1.利用ip访问会报错404

解决方法:IIS配置反向代理

需要下载两个IIS插件,一个是application request routing cache,在整个大的服务器主页里选择它,

image-20240924095824862

点进去选择右侧的proxy的

image-20240924095628697

勾选:

image-20240924095719374

接下来配置网站的URL重写.首先要下载这个插件,

image-20240924095938076

点进去之后

点击右侧的添加规则,选择反向代理,输入后端访问的路径(192.168.50.3:8888),点击确定.

2.反向代理有问题,报错400.605

解决方法:请求URL的模型改成^api/(.*)$,其他不变.
image-20240924100427564

此时连上VPN后访问192.168.50.3:8887能够访问项目.

标签: 前端 c# vue.js

本文转载自: https://blog.csdn.net/Eudemon1a/article/details/142484789
版权归原作者 Eudemon1a 所有, 如有侵权,请联系我们删除。

“前后端分离项目(后端C#,前端Vue)在Windows通过IIS部署遇到的问题”的评论:

还没有评论