当前位置: 首页 > news >正文

504 Gateway Timeout:服务器作为网关或代理时未能及时获得响应如何处理?

在香港服务器上搭建和管理 FTP 服务器,可以方便地上传、下载和管理网站文件。以下是搭建 FTP 服务器的详细步骤,包括安装、配置、管理用户和安全优化。


1. FTP 服务器的作用

FTP(File Transfer Protocol)用于通过网络传输文件,常用于:

  1. 网站文件管理:上传网站代码、图片、视频等文件到服务器。
  2. 备份和恢复:通过 FTP 将文件从服务器下载到本地或上传备份文件。
  3. 团队协作:为开发团队提供文件存储和共享。

2. 搭建 FTP 服务器的步骤

2.1 环境准备

  1. 确保你拥有一个香港服务器,并已安装常用的 Linux 发行版(如 CentOS、Ubuntu)。
  2. 服务器已开放 FTP 服务所需端口(默认端口为 21 和 20)。

2.2 安装 FTP 服务

2.2.1 在 CentOS 安装 vsftpd
  1. 更新系统:

    bash

    复制

    sudo yum update -y
    
  2. 安装 vsftpd:

    bash

    复制

    sudo yum install vsftpd -y
    
  3. 启动服务并设置开机自启:

    bash

    复制

    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd
    

2.2.2 在 Ubuntu 安装 vsftpd
  1. 更新系统:

    bash

    复制

    sudo apt update -y
    
  2. 安装 vsftpd:

    bash

    复制

    sudo apt install vsftpd -y
    
  3. 启动服务并设置开机自启:

    bash

    复制

    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd
    

2.3 配置 FTP 服务

  1. 编辑 vsftpd 配置文件:

    bash

    复制

    sudo nano /etc/vsftpd/vsftpd.conf
    
  2. 修改以下配置:

    • 启用本地用户登录

      conf

      复制

      local_enable=YES
      
    • 允许写权限

      conf

      复制

      write_enable=YES
      
    • 启用被动模式(推荐)

      conf

      复制

      pasv_enable=YES
      pasv_min_port=10000
      pasv_max_port=10100
      
    • 限制用户访问自己的目录

      conf

      复制

      chroot_local_user=YES
      
    • 禁用匿名登录(增强安全性)

      conf

      复制

      anonymous_enable=NO
      
  3. 保存并退出配置文件。

  4. 重启 vsftpd 服务:

    bash

    复制

    sudo systemctl restart vsftpd
    

2.4 创建 FTP 用户

  1. 添加系统用户:

    bash

    复制

    sudo adduser ftpuser
    
    • 设置密码:

      bash

      复制

      sudo passwd ftpuser
      
  2. 设置用户的主目录(如 /var/www/html):

    bash

    复制

    sudo usermod -d /var/www/html ftpuser
    
  3. 确保用户对目录有读写权限:

    bash

    复制

    sudo chmod -R 755 /var/www/html
    sudo chown -R ftpuser:ftpuser /var/www/html
    

2.5 配置防火墙

  1. 开放 FTP 服务端口:

    • CentOS(使用 firewalld):

      bash

      复制

      sudo firewall-cmd --add-service=ftp --permanent
      sudo firewall-cmd --add-port=21/tcp --permanent
      sudo firewall-cmd --add-port=10000-10100/tcp --permanent
      sudo firewall-cmd --reload
      
    • Ubuntu(使用 ufw):

      bash

      复制

      sudo ufw allow 21/tcp
      sudo ufw allow 10000:10100/tcp
      sudo ufw reload
      
  2. 检查 FTP 服务:

    bash

    复制

    sudo systemctl status vsftpd
    

3. 通过 FTP 客户端连接

  1. 使用 FTP 客户端(如 FileZilla)连接服务器。

  2. 输入以下信息:

    • 主机:服务器的公网 IP 地址。
    • 用户名ftpuser
    • 密码:你设置的用户密码。
    • 端口21
  3. 如果配置正确,你应该能够访问 /var/www/html 目录。


4. 安全优化

4.1 启用加密传输(FTPS)

  1. 生成 SSL/TLS 证书:

    bash

    复制

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt
    
  2. 配置 vsftpd 使用 SSL/TLS:
    打开配置文件:

    bash

    复制

    sudo nano /etc/vsftpd/vsftpd.conf
    

    添加以下内容:

    conf

    复制

    ssl_enable=YES
    rsa_cert_file=/etc/ssl/certs/vsftpd.crt
    rsa_private_key_file=/etc/ssl/private/vsftpd.key
    force_local_logins_ssl=YES
    force_local_data_ssl=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    require_ssl_reuse=NO
    ssl_ciphers=HIGH
    
  3. 重启服务:

    bash

    复制

    sudo systemctl restart vsftpd
    
  4. 在客户端选择 使用加密(Explicit FTPS) 连接。


4.2 限制登录尝试

  1. 安装 Fail2Ban:

    • CentOS:

      bash

      复制

      sudo yum install epel-release -y
      sudo yum install fail2ban -y
      
    • Ubuntu:

      bash

      复制

      sudo apt install fail2ban -y
      
  2. 配置 Fail2Ban 保护 FTP:
    编辑 /etc/fail2ban/jail.local

    ini

    复制

    [vsftpd]
    enabled = true
    port = ftp,ftp-data,ftps,ftps-data
    logpath = /var/log/vsftpd.log
    maxretry = 5
    bantime = 3600
    
  3. 重启 Fail2Ban:

    bash

    复制

    sudo systemctl restart fail2ban
    

4.3 使用非默认端口

  • 修改 vsftpd 配置文件,将 FTP 默认端口从 21 改为其他端口(如 2121):

    conf

    复制

    listen_port=2121
    
  • 重启服务后,确保客户端使用新端口连接。

5. 监控与管理

5.1 查看 FTP 日志

  • 日志路径:
    • CentOS/RHEL:

      bash

      复制

      /var/log/vsftpd.log
      
    • Ubuntu/Debian:

      bash

      复制

      /var/log/syslog
      

5.2 添加或删除 FTP 用户

  • 添加用户

    bash

    复制

    sudo adduser newftpuser
    sudo passwd newftpuser
    
  • 删除用户

    bash

    复制

    sudo userdel -r ftpuser
    

6. 总结

  1. 搭建步骤

    • 安装 vsftpd。
    • 配置 FTP 服务和用户。
    • 开启防火墙端口。
  2. 优化安全

    • 启用 FTPS 加密。
    • 使用 Fail2Ban 限制暴力破解。
    • 修改默认端口。
  3. 管理与维护

    • 定期检查日志。
    • 管理用户权限和目录。

通过以上步骤,你可以在香港服务器上搭建和管理安全、高效的 FTP 文件传输服务。


文章转载自:

http://IQaG3iRL.rLdph.cn
http://XFzuIo5H.rLdph.cn
http://SDLlDfye.rLdph.cn
http://mSdeQYnd.rLdph.cn
http://MpB3SSz2.rLdph.cn
http://Vr2aQa14.rLdph.cn
http://KazbXWNT.rLdph.cn
http://SA6n4Cxw.rLdph.cn
http://LiUuEj89.rLdph.cn
http://aybIjfxI.rLdph.cn
http://1dujxiXs.rLdph.cn
http://UJJOnkLp.rLdph.cn
http://TkxtLNe1.rLdph.cn
http://cw5teBtR.rLdph.cn
http://2VCdU0qG.rLdph.cn
http://IoiJwVUR.rLdph.cn
http://6vtAZkJm.rLdph.cn
http://vecvynhg.rLdph.cn
http://zv8s0T3i.rLdph.cn
http://ttT5aqPT.rLdph.cn
http://ITWb0E1b.rLdph.cn
http://piFpQvUJ.rLdph.cn
http://siz8vnNo.rLdph.cn
http://8G9aOhOW.rLdph.cn
http://UFJBvQHB.rLdph.cn
http://51oNOJ6K.rLdph.cn
http://u8MUNr2r.rLdph.cn
http://dxPsk3HK.rLdph.cn
http://VLoclZ5O.rLdph.cn
http://gyF4wWC0.rLdph.cn
http://www.dtcms.com/a/364804.html

相关文章:

  • 找Jenkins代替工具,可以体验下这款国产开源CICD工具
  • 通过SpringCloud Gateway实现API接口镜像请求(陪跑)网关功能
  • 数据库高可用全方案:Keepalived 故障切换 + LVS (DR) 模式 + MariaDB 主主同步实战案例
  • Web 集群高可用全方案:Keepalived+LVS (DR) 负载均衡 + Apache 服务 + NFS 共享存储搭建指南
  • TensorFlow的Yes/No 关键词识别模型训练
  • 从零开始的python学习——列表
  • VUE的模版渲染过程
  • 京东一面:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?
  • Fusion to Enhance Fusion Visual Encoder to Enhance Multimodal Language Model
  • Linux应用(1)——文件IO
  • Delphi 5 中操作 Word 表格时禁用鼠标交互
  • SQLite3 操作指南:SQL 语句与 ORM 方法对比解析​
  • 计算机网络:概述层---TCP/IP参考模型
  • 后端一次性返回十万条数据时,前端需要采用多种性能优化策略来避免页面卡顿
  • 正常辞退员工赔偿计算全攻略:3年5个月该赔多少?
  • C++学习 part1
  • python中`__annotations__` 和 `inspect` 模块区别??
  • 【Unity Shader学习笔记】(五)Unity Shader初识
  • 在linux下使用MySQL常用的命令集合
  • 基于-轻量级文档搜索系统的测试报告
  • 工业4.0时代的通信革命:OPC UA Pub/Sub机制全面解析
  • 车载诊断架构 --- 从架构系统角度怎么确保整车DTC的完整性?
  • 关于缓存的一些思考?
  • SPI通讯协议
  • 【AI】人工智能 传统和现代 架构和算法的演变历史
  • 控制View缩放与还原
  • Go 语言面试题详解之上下文 (Context) 解密
  • 开学季 老师必备的收集信息“神器”
  • 利用 Python 绘制环形热力图
  • 使用飞算JavaAI快速搭建酒店管理系统