在服务器上打包部署springboot+vue的项目(二)让服务器上有sql数据,且可以进行用户交互

关于防火墙的说明:

防火墙是保障轻量应用服务器实例网络安全的重要手段,所提供的安全防护作用等同于云服务器中的安全组。您可以通过配置防火墙规则,允许或禁止轻量应用服务器实例对公网或私网的访问。

说明: 防火墙只能对实例的入流量进行控制,出流量默认允许所有请求。

配置外网访问:

  <!--For clustering, please take a look at documentation at:
      /docs/cluster-howto.html  (simple how to)
      /docs/config/cluster.html (reference documentation) -->
  <!--
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
  -->

  <!-- Use the LockOutRealm to prevent attempts to guess user passwords
       via a brute-force attack -->
  <Realm className="org.apache.catalina.realm.LockOutRealm">
    <!-- This Realm uses the UserDatabase configured in the global JNDI
         resources under the key "UserDatabase".  Any edits
         that are performed against this UserDatabase are immediately
         available for use by the Realm.  -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
           resourceName="UserDatabase"/>
  </Realm>

  <Host name="http://ohheziyi.xyz/"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

现在在自己的电脑上访问域名:
在这里插入图片描述
打开后不是自己的项目。
在后面再加上一个:8080,此时可以打开自己的项目了。
但是依然是只有登陆页面而无法登录,查看控制台:
在这里插入图片描述
修改配置:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
//全局配置类,配置跨域请求
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //预访问的路径 请求来源 方法 允许携带的
        registry.addMapping("/**")
                .allowedOrigins("*", "null")
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .allowCredentials(true);


    }

原来是.allowedOrigins(“http://localhost:8080”, “null”)修改为.allowedOrigins("*"),然后再次运行,生成jar包
新的jar包复制到tomcat目录下再打开浏览器访问

数据库部署

在服务器上安装phpstudy(感觉好用),然后把自己电脑上数据库生成sql文件,再在服务器上配置相应端口和新建数据库,运行sql文件,即可生成自己电脑上所有的表和数据(用了navicat工具)
数据库中的端口要与java中的配置对应:
在这里插入图片描述

关于跨域处理

跨域解决方案
什么是跨域
为了保证浏览器的安全,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。这叫作同源策略,同源策略是浏览器安全的基石。 如果一个请求地址里面的协议、域名和端口号都相同,就属于同源。 举个例子,判断下面URL是否和http://www.a.com/a/a.html同源: http://www.a.com/b/b.html,同源。 http://www.b.com/a/a.html,不同源,域名不相同。 https://www.a.com/b/b.html,不同源,协议不相同。

依据浏览器同源策略,非同源脚本不可操作其他源下面的对象,想要操作其他源下的对象就需要跨域。综上所述,在同源策略的限制下,非同源的网站之间不能发送AJAX请求。如有需要,可通过降域或其他技术实现。

1.CORS 技术

为了解决浏览器跨域问题,W3C提出了跨源资源共享方案,即CORS(Cross-Origin Resource Sharing)。 CORS可以在不破坏即有规则的情况下,通过后端服务器实现CORS接口,从而实现跨域通信。CORS将请求分为两类:简单请求和非简单请求,分别对跨域通信提供了支持。

在CORS出现前,发送HTTP请求时在头信息中不能包含任何自定义字段,且HTTP信息不超过以下几个字段: Accept Accept-Language Content-Language Last-Event-ID Content-Type(仅限于[application/x-www-form-urlencoded、multipart/form-data、text/plain]类型) 一个简单请求的例子: 对于简单请求,CORS的策略是请求时在请求头中增加一个Origin字段,服务器收到请求后,根据该字段判断是否允许该请求访问。 如果允许,就在HTTP头信息中添加Access-Control-Allow-Origin字段,并返回正确的结果

如果不允许,就不在HTTP头信息中添加Access-Control-Allow-Origin字段。 除了上面提到的Access-Control-Allow-Origin,还有几个字段用于描述CORS返回结果: Access-Control-Allow-Credentials:可选,用户是否可以发送、处理cookie。 Access-Control-Expose-Headers:可选,可以让用户拿到的字段。有几个字段无论设置与否都可以拿到的,包括Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。

非简单请求 对于非简单请求的跨源请求,浏览器会在真实请求发出前增加一次OPTION请求,称为预检请求(preflight request)。预检请求将真实请求的信息,包括请求方法、自定义头字段、源信息添加到HTTP头信息字段中,询问服务器是否允许这样的操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在Linux系统上打包部署springboot+vue项目的步骤如下: 1. 首先,你需要拉取git仓库的代码。复制git仓库的地址,并在Linux系统中使用命令拉取代码。\[1\] 2. 接下来,你需要打包Java项目。进入项目的目录,执行打包命令,生成一个jar包。你可以使用命令`java -jar springboot-affair-0.0.1-SNAPSHOT.jar`来运行打包好的Java项目。\[3\] 3. 然后,你需要部署前端vue项目。同样进入项目的目录,执行打包命令,生成前端的静态文件。将生成的静态文件部署到Nginx服务器上。 4. 在部署之前,确保Nginx、MySQL、Redis和MinIO已经启动。你可以使用相应的命令来启动这些服务。 5. 最后,访问你的项目。通过浏览器访问Nginx服务器的地址,即可查看部署好的springboot+vue项目。 总结起来,你需要拉取代码,打包Java项目部署前端项目,启动Nginx、MySQL、Redis和MinIO,然后访问项目即可。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Linux——在Linux系统上打包部署springboot+vue项目,nginx+mysql+redis+minio](https://blog.csdn.net/weixin_56039103/article/details/126173205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用docker部署springboot+vue项目](https://blog.csdn.net/Ruhoney908/article/details/131024801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值