Forráskód Böngészése

解决FTP云服务器访问不正常的问题。

wukai 1 éve
szülő
commit
dfe5b5ec2f

+ 7 - 2
doc-admin/src/main/resources/application-dev.yml

@@ -15,11 +15,16 @@ chat-glm3:
   host: http://8.142.173.95:17020/
   # 最大会话字符数
   max-token: 2048
-
+#内置FTP配置
+ftp:
+  enable: true
+  port: 60021
+  passivePorts: 64000-64050
+  ip: 192.168.188.8
 #人脸识别配置
 face-engine:
   # 是否开启
-  flag: true
+  flag: false
   # 引擎库存放位置
   lib: D:\arcsoft_lib
   # 激活文件存放位置

+ 0 - 5
doc-admin/src/main/resources/application.yml

@@ -70,11 +70,6 @@ token:
   soloLogin: false
   # 请求有效时间(秒)
   requestTime: 5
-#内置FTP配置
-ftp:
-  enable: true
-  port: 60021
-  passivePorts: 64000-64050
 
 # MyBatis配置
 mybatis-plus:

+ 5 - 2
doc-biz/src/main/java/com/doc/ftp/DocFtpServer.java

@@ -57,6 +57,7 @@ public class DocFtpServer {
         if (enable()) {
             int port = Integer.parseInt(environment.getProperty("ftp.port"));
             String passivePorts = environment.getProperty("ftp.passivePorts");
+            String ip = environment.getProperty("ftp.ip");
             System.err.println();
             FtpServerFactory serverFactory = new FtpServerFactory();
             ListenerFactory listenerFactory = new ListenerFactory();
@@ -65,6 +66,8 @@ public class DocFtpServer {
             //2、设置被动模式数据上传的接口范围,云服务器需要开放对应区间的端口给客户端
             DataConnectionConfigurationFactory dataConnectionConfFactory = new DataConnectionConfigurationFactory();
             dataConnectionConfFactory.setPassivePorts(passivePorts);
+            //返回给客户端可以通信的IP地址
+            dataConnectionConfFactory.setPassiveExternalAddress(ip);
             listenerFactory.setDataConnectionConfiguration(dataConnectionConfFactory.createDataConnectionConfiguration());
             //3、增加SSL安全配置
 //        SslConfigurationFactory ssl = new SslConfigurationFactory();
@@ -76,10 +79,10 @@ public class DocFtpServer {
 //        listenerFactory.setImplicitSsl(true);
             //4、替换默认的监听器
             Listener listener = listenerFactory.createListener();
-            serverFactory.addListener("default", listener);
+            serverFactory.addListener("default" , listener);
             //5、配置自定义用户事件
             Map<String, Ftplet> ftpLets = new HashMap(16);
-            ftpLets.put("ftpService", new DocFtpLet());
+            ftpLets.put("ftpService" , new DocFtpLet());
             serverFactory.setFtplets(ftpLets);
             //6、读取用户的配置信息
             //注意:配置文件位于resources目录下,如果项目使用内置容器打成jar包发布,FTPServer无法直接直接读取Jar包中的配置文件。