docker部署流程

官方地址
https://github.com/MHSanaei/3x-ui/blob/main/docker-compose.yml

  1. 创建docker-compose.yml
    创建目录 3x-ui,进入创建文件 docker-compose.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    services:
    3x-ui:
    image: ghcr.io/mhsanaei/3x-ui:latest
    container_name: 3x-ui
    hostname: 3x-ui
    ports:
    - "2053:2053" # 端口映射8053 host 模式不起作用,默认2053
    volumes:
    - $PWD/db/:/etc/x-ui/
    - $PWD/cert/:/root/cert/
    environment:
    XRAY_VMESS_AEAD_FORCED: "false"
    XUI_ENABLE_FAIL2BAN: "true"
    tty: true
    network_mode: host
    restart: unless-stopped
  2. 启动服务
    1
    docker-compose up --build -d #
  3. 访问服务

防火墙放开端口2053,或者关闭防火墙,http://ip+端口:2053, 进入登录页

默认用户:admin
默认密码:admin

  1. 配置
  • tls配置:
    cloudflare上添加DNS记录,然后生成15年免费证书,传放到 $PWD/cert/目录下,安全设置中,填写 /root/cert/xxx.pem 和/root/cert/xxx.key 证书,修改面板 端口 和 path路径。保存重启面板,通过域名+端口进行访问。

  • 添加入站节点:
    cloudflare标准 默认允许,端口 知识

80系端口(HTTP):80,8080,8880,2052,2082,2086,2095
443系端口(HTTPS):443,2053,2083,2087,2096,8443.

注意:使用cf的15年证书,开小黄鱼,必须使用cloudflare,开放的https端口

问题

HSTS 策略引起问题

浏览器自动升级 HTTP 到 HTTPS(HSTS 策略)

如果目标网站(xxxxx:8053)之前被浏览器标记为强制 HTTPS(通过 HSTS 头或浏览器内置的预加载列表),Chrome 会自动将 HTTP 请求升级为 HTTPS,即使你手动输入 http://。

解决方法:

  • 清除 HSTS 设置:
    1
    2
    3
    4
    在 Chrome 地址栏输入 chrome://net-internals/#hsts。
    在 Delete domain security policies 部分,输入域名 xxxxx(不带端口),点击 Delete。

    重启浏览器。
  • 临时禁用 HSTS(仅测试用):
    在 Chrome 启动时添加参数 —disable-hsts(需通过命令行或快捷方式启动)。