Ver código fonte

chore(deps): 更新依赖配置和Docker部署文件

- 在common-satoken.yml中添加cookie自动填充前缀配置
- 移除docker-compose.yml中的MySQL服务定义
- 添加ruoyi-bill和ruoyi-mall服务到docker-compose.yml
- 移除ELK、RocketMQ、RabbitMQ等扩展服务配置
- 为ruoyi-bill模块创建Dockerfile
- 为ruoyi-mall模块创建Dockerfile
- 修改ruoyi-system模块的服务器端口从9201到9214
- 将全局异常处理器中SseException的日志级别从debug改为error
- 注释掉安全配置中SameToken检查相关代码
- 在CORS过滤器中添加X-Platform-Code到允许的头部列表
肖路 1 mês atrás
pai
commit
69e4492468

+ 3 - 0
ruoyi-common/ruoyi-common-satoken/src/main/resources/common-satoken.yml

@@ -11,8 +11,11 @@ sa-token:
   is-read-cookie: true
   # token前缀
   token-prefix: "Bearer"
+  # cookie自动添加前缀
+  cookie-auto-fill-prefix: true
   cookie:
     domain: .xiaoluwebsite.xyz
+#    domain: .yoe365.com
     path: /
     secure: true
     httpOnly: false

+ 8 - 4
ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfiguration.java

@@ -39,11 +39,15 @@ public class SecurityConfiguration implements WebMvcConfigurer {
             .addInclude("/**")
             .addExclude("/actuator", "/actuator/**")
             .setAuth(obj -> {
-                if (SaManager.getConfig().getCheckSameToken()) {
-                    SaSameUtil.checkCurrentRequestToken();
-                }
+//                if (SaManager.getConfig().getCheckSameToken()) {
+//                    String token = SaSameUtil.getToken();
+//                    System.out.println("token: " + token);
+//                    SaSameUtil.checkCurrentRequestToken();
+//                }
             })
-            .setError(e -> SaResult.error("认证失败,无法访问系统资源").setCode(HttpStatus.UNAUTHORIZED));
+            .setError(e ->
+                SaResult.error("认证失败,无法访问系统资源").setCode(HttpStatus.UNAUTHORIZED)
+            );
     }
 
     /**

+ 1 - 1
ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java

@@ -72,7 +72,7 @@ public class GlobalExceptionHandler {
     @ExceptionHandler(SseException.class)
     public String handleNotLoginException(SseException e, HttpServletRequest request) {
         String requestURI = request.getRequestURI();
-        log.debug("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage());
+        log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage());
         return JsonUtils.toJsonString(R.fail(HttpStatus.HTTP_UNAUTHORIZED, "认证失败,无法访问系统资源"));
     }
 

+ 1 - 1
ruoyi-gateway/src/main/java/org/dromara/gateway/filter/WebCorsFilter.java

@@ -27,7 +27,7 @@ public class WebCorsFilter implements WebFilter, Ordered {
      */
     private static final String ALLOWED_HEADERS =
         "X-Requested-With, Content-Language, Content-Type, " +
-        "Authorization, clientid, credential, X-XSRF-TOKEN, " +
+        "Authorization, clientid, credential, X-XSRF-TOKEN, X-Platform-Code," +
         "isToken, token, Admin-Token, App-Token, Encrypt-Key, isEncrypt";
 
     /**

+ 27 - 0
ruoyi-modules/ruoyi-bill/Dockerfile

@@ -0,0 +1,27 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/bill/logs \
+    /ruoyi/bill/temp \
+    /ruoyi/skywalking/agent
+
+WORKDIR /ruoyi/bill
+
+ENV SERVER_PORT=9318 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-bill.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-bill \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 26 - 0
ruoyi-modules/ruoyi-mall/Dockerfile

@@ -0,0 +1,26 @@
+# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
+FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
+#FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds
+#FROM findepi/graalvm:java17-native
+
+LABEL maintainer="Lion Li"
+
+RUN mkdir -p /ruoyi/mall/logs \
+    /ruoyi/mall/temp \
+    /ruoyi/skywalking/agent
+WORKDIR /ruoyi/mall
+
+ENV SERVER_PORT=9216 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+
+EXPOSE ${SERVER_PORT}
+
+ADD ./target/ruoyi-mall.jar ./app.jar
+
+SHELL ["/bin/bash", "-c"]
+
+ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
+           #-Dskywalking.agent.service_name=ruoyi-mall \
+           #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
+           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
+           -jar app.jar
+

+ 1 - 1
ruoyi-modules/ruoyi-system/Dockerfile

@@ -11,7 +11,7 @@ RUN mkdir -p /ruoyi/system/logs \
 
 WORKDIR /ruoyi/system
 
-ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
+ENV SERVER_PORT=9214 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
 
 EXPOSE ${SERVER_PORT}
 

+ 30 - 254
script/docker/docker-compose.yml

@@ -1,31 +1,4 @@
 services:
-  mysql:
-    image: mysql:8.0.42
-    container_name: mysql
-    environment:
-      # 时区上海
-      TZ: Asia/Shanghai
-      # root 密码
-      MYSQL_ROOT_PASSWORD: root
-      # 初始化数据库
-      MYSQL_DATABASE: ry-cloud
-    ports:
-      - "3306:3306"
-    volumes:
-      # 数据挂载
-      - /home/docker/mysql/data/:/var/lib/mysql/
-      # 配置挂载
-      - /home/docker/mysql/conf/:/etc/mysql/conf.d/
-    command:
-      # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
-      --default-authentication-plugin=mysql_native_password
-      --character-set-server=utf8mb4
-      --collation-server=utf8mb4_general_ci
-      --explicit_defaults_for_timestamp=true
-      --lower_case_table_names=1
-    privileged: true
-    network_mode: "host"
-
   nacos:
     image: ruoyi/ruoyi-nacos:2.4.1
     container_name: nacos
@@ -302,7 +275,36 @@ services:
       - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
     privileged: true
     network_mode: "host"
-
+  ruoyi-bill:
+    image: ruoyi/ruoyi-bill:2.4.1
+    container_name: ruoyi-bill
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9318:9318"
+    volumes:
+      # 配置文件
+      - /home/docker/ruoyi-bill/logs/:/ruoyi/bill/logs
+      # skywalking 探针
+      - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
+    privileged: true
+    network_mode: "host"
+  ruoyi-mall:
+    image: ruoyi/ruoyi-mall:2.4.1
+    container_name: ruoyi-mall
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+    ports:
+      - "9216:9216"
+    volumes:
+      # 配置文件
+      - /home/docker/ruoyi-mall/logs/:/ruoyi/mall/logs
+      # skywalking 探针
+      - /home/docker/skywalking/agent/:/ruoyi/skywalking/agent
+    privileged: true
+    network_mode: "host"
   ruoyi-job:
     image: ruoyi/ruoyi-job:2.4.1
     container_name: ruoyi-job
@@ -357,229 +359,3 @@ services:
 #################################################################################################
 #################################### 以下为扩展根据需求搭建 #########################################
 #################################################################################################
-
-  elasticsearch:
-    image: elasticsearch:7.17.6
-    container_name: elasticsearch
-    ports:
-      - "9200:9200"
-      - "9300:9300"
-    environment:
-      # 设置集群名称
-      cluster.name: elasticsearch
-      # 以单一节点模式启动
-      discovery.type: single-node
-      ES_JAVA_OPTS: "-Xms512m -Xmx1024m"
-    volumes:
-      - /home/docker/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-      - /home/docker/elk/elasticsearch/data:/usr/share/elasticsearch/data
-      - /home/docker/elk/elasticsearch/logs:/usr/share/elasticsearch/logs
-    network_mode: "host"
-
-  kibana:
-    image: kibana:7.17.6
-    container_name: kibana
-    ports:
-      - "5601:5601"
-    depends_on:
-      # kibana在elasticsearch启动之后再启动
-      - elasticsearch
-    environment:
-      #设置系统语言文中文
-      I18N_LOCALE: zh-CN
-      # 访问域名
-      # SERVER_PUBLICBASEURL: https://kibana.cloud.com
-    volumes:
-      - /home/docker/elk/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
-    network_mode: "host"
-
-  logstash:
-    image: logstash:7.17.6
-    container_name: logstash
-    ports:
-      - "4560:4560"
-    volumes:
-      - /home/docker/elk/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
-      - /home/docker/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
-    depends_on:
-      - elasticsearch
-    network_mode: "host"
-
-  rmqnamesrv:
-    image: apache/rocketmq:5.2.0
-    container_name: rmqnamesrv
-    ports:
-      - "9876:9876"
-    environment:
-      JAVA_OPT: -server -Xms512m -Xmx512m
-    command: sh mqnamesrv
-    volumes:
-      - /home/docker/rocketmq/namesrv/logs:/home/rocketmq/logs/rocketmqlogs
-    network_mode: "host"
-
-  rmqbroker1:
-    image: apache/rocketmq:5.2.0
-    container_name: rmqbroker1
-    ports:
-      - "10911:10911"
-      - "10909:10909"
-      - "10912:10912"
-    environment:
-      JAVA_OPT: -server -Xms512M -Xmx512M
-      NAMESRV_ADDR: 127.0.0.1:9876
-    # --enable-proxy 开启broker与proxy共用模式 生产部署建议将proxy单独部署
-    command: sh mqbroker --enable-proxy -c /home/rocketmq/rocketmq-5.2.0/conf/broker.conf
-    depends_on:
-      - rmqnamesrv
-    volumes:
-      - /home/docker/rocketmq/broker1/conf/broker.conf:/home/rocketmq/rocketmq-5.2.0/conf/broker.conf
-      - /home/docker/rocketmq/broker1/logs:/home/rocketmq/logs/rocketmqlogs
-      - /home/docker/rocketmq/broker1/store:/home/rocketmq/store
-    privileged: true
-    network_mode: "host"
-
-  rmqconsole:
-    image: apacherocketmq/rocketmq-dashboard:latest
-    container_name: rmqconsole
-    ports:
-      - "19876:19876"
-    environment:
-      JAVA_OPTS: -Dserver.port=19876 -Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
-    depends_on:
-      - rmqnamesrv
-    network_mode: "host"
-
-  rabbitmq:
-    container_name: rabbitmq
-    build:
-      context: ./rabbitmq
-    environment:
-      RABBITMQ_DEFAULT_USER: ruoyi
-      RABBITMQ_DEFAULT_PASS: ruoyi123
-    ports:
-      - "15672:15672" # 管理界面端口
-      - "5672:5672"   # api 端口
-    volumes:
-      - /home/docker/rabbitmq/log:/var/log/rabbitmq
-      - /home/docker/rabbitmq/data:/var/lib/rabbitmq
-    network_mode: "host"
-
-  zookeeper:
-    image: 'bitnami/zookeeper:3.8.0'
-    container_name: zookeeper
-    ports:
-      - "2181:2181"
-    environment:
-      TZ: Asia/Shanghai
-      ALLOW_ANONYMOUS_LOGIN: "yes"
-      ZOO_SERVER_ID: 1
-      ZOO_PORT_NUMBER: 2181
-      # 自带的控制台 一般用不上可自行开启
-      ZOO_ENABLE_ADMIN_SERVER: "no"
-      # 自带控制台的端口
-      ZOO_ADMIN_SERVER_PORT_NUMBER: 8080
-    network_mode: "host"
-
-  kafka:
-    image: 'bitnami/kafka:3.6.2'
-    container_name: kafka
-    ports:
-      - "9092:9092"
-    environment:
-      TZ: Asia/Shanghai
-      # 更多变量 查看文档 https://github.com/bitnami/bitnami-docker-kafka/blob/master/README.md
-      KAFKA_BROKER_ID: 1
-      # 监听端口
-      KAFKA_CFG_LISTENERS: PLAINTEXT://:9092
-      # 实际访问ip 本地用 127 内网用 192 外网用 外网ip
-      KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://192.168.31.165:9092
-      KAFKA_CFG_ZOOKEEPER_CONNECT: 127.0.0.1:2181
-      ALLOW_PLAINTEXT_LISTENER: "yes"
-    volumes:
-      - /home/docker/kafka/data:/bitnami/kafka/data
-    depends_on:
-      - zookeeper
-    network_mode: "host"
-
-  kafka-manager:
-    image: sheepkiller/kafka-manager:latest
-    container_name: kafka-manager
-    ports:
-      - "19092:19092"
-    environment:
-      ZK_HOSTS: 127.0.0.1:2181
-      APPLICATION_SECRET: letmein
-      KAFKA_MANAGER_USERNAME: ruoyi
-      KAFKA_MANAGER_PASSWORD: ruoyi123
-      KM_ARGS: -Dhttp.port=19092
-    depends_on:
-      - kafka
-    network_mode: "host"
-
-  sky-oap:
-    image: apache/skywalking-oap-server:9.7.0
-    container_name: sky-oap
-    ports:
-      - "11800:11800"
-      - "12800:12800"
-    environment:
-      JAVA_OPTS: -Xms1G -Xmx2G
-      #记录数据的有效期,单位天
-      SW_CORE_RECORD_DATA_TTL: 7
-      #分析指标数据的有效期,单位天
-      SW_CORE_METRICS_DATA_TTL: 7
-      SW_STORAGE: elasticsearch
-      SW_STORAGE_ES_CLUSTER_NODES: 127.0.0.1:9200
-      TZ: Asia/Shanghai
-    network_mode: "host"
-
-  sky-ui:
-    image: apache/skywalking-ui:9.7.0
-    container_name: sky-ui
-    ports:
-      - "18080:18080"
-    environment:
-      SW_SERVER_PORT: 18080
-      SW_OAP_ADDRESS: http://127.0.0.1:12800
-      TZ: Asia/Shanghai
-    depends_on:
-      - sky-oap
-    network_mode: "host"
-
-  prometheus:
-    image: prom/prometheus:v2.40.1
-    container_name: prometheus
-    ports:
-      - "9090:9090"
-    volumes:
-      - /home/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
-    network_mode: "host"
-
-  grafana:
-    image: grafana/grafana:9.2.4
-    container_name: grafana
-    environment:
-      TZ: Asia/Shanghai
-      # 服务地址 用于指定外网ip或域名
-      GF_SERVER_ROOT_URL: ""
-      # admin 管理员密码
-      GF_SECURITY_ADMIN_PASSWORD: 123456
-    ports:
-      - "3000:3000"
-    volumes:
-      - /home/docker/grafana/grafana.ini:/etc/grafana/grafana.ini
-      - /home/docker/grafana:/var/lib/grafana
-    network_mode: "host"
-
-  shardingproxy:
-    image: apache/shardingsphere-proxy:5.4.0
-    container_name: shardingsphere-proxy
-    command: server /data
-    ports:
-      - "3307:3307"
-    volumes:
-      - /home/docker/shardingproxy/conf:/opt/shardingsphere-proxy/conf
-      - /home/docker/shardingproxy/ext-lib:/opt/shardingsphere-proxy/ext-lib
-    environment:
-      - JVM_OPTS="-Djava.awt.headless=true"
-    network_mode: "host"