项目部署踩坑记录

HanGR 于 2024-09-08 发布


问题一

  1. 问题描述

    • 前端绑定域名后使用浏览器访问不了后端
  2. 问题报错详情

     浏览器报错:
     The page at 'https://XXXX.com' was loaded over HTTPS, but requested an insecure resource 'http://XXXX:8080'. This request has been blocked; the content must be served over HTTPS.
    
  3. 问题解释

    • 这个错误信息表明, 你的网页是通过HTTPS加载的, 但在请求资源时使用了不安全的HTTP协议. 浏览器为了保护用户的安全和隐私, 阻止了这种混合内容的请求.
  4. 问题解决方案

    • 需要确保所有资源(如图片、脚本、样式表、API请求等)都通过HTTPS加载. 具体来说, 你需要将请求的URL从http://改为https: //, 或者确保服务器支持HTTPS.
  5. 具体方法

    • 在后端springBoot项目中, application-prod.yml文件中配置:
     server:
       port: 8080
       servlet:
         context-path: /api
       ssl:
         key-store-type: JKS # 证书类型
         key-store: classpath:xxxx.com.jks  # 证书路径,该路径表示和application-prod.yml同级目录下的xxxx.com.jks证书文件
         key-store-password: xxxxx  # 证书密码  下载的时候有提供
         key-alias: xxxx.com  # 证书别名,一般为域名,可省略
    
    • 此操作可以为后端项目配置HTTPS证书, 这样前端就可以通过https://xxxx.com访问到后端项目了.


问题二

  1. 问题描述

    • 前端可以通过https请求后端, 但是请求之后JSESSIONID会丢失, 导致登录失败

未完待续.....