如何免费地让网站启用 HTTPS 【8.27 热门分享回顾】

至于启用 HTTPS 的有的经历分享

2015/12/04 · 基本功手艺 ·
HTTP,
HTTPS

原作出处:
imququ(@屈光宇)   

乘势国内互联网境遇的随处恶化,种种篡改和绑架司空眼惯,越来越多的网址精选了全站
HTTPS。就在明日,无偿提供证件服务的 Let’s
Encrypt 项目也正式开放,HTTPS 异常快就能变成WEB 必选项。HTTPS 通过 TLS
层和申明机制提供了内容加密、身份认证和数据完整性三大成效,能够有效防止数据被翻开或篡改,以及防卫中间人作伪。本文分享部分启用
HTTPS 进程中的经验,重视是何等与部分新出的安全标准配合使用。至于 HTTPS
的布局及优化,此前写过无数,本文不重复了。

有关启用 HTTPS 的有个别经验分享(二)

2015/12/24 · 基本功手艺 ·
HTTP,
HTTPS

原著出处:
imququ(@屈光宇)   

小说目录

  • SSL 版本选拔
  • 加密套件选择
  • SNI 扩展
  • 证件选拔

几天前,壹人相恋的人问笔者:都说推荐用 Qualys SSL
Labs 这么些工具测验 SSL
安全性,为啥某些安全实力很强的大商家评分也比十分的低?小编认为这几个标题应当从两上边来看:1)本国客户终端情形复杂,相当多时候降落
SSL 安全体署是为着合营越来越多客商;2)确实有部分大商家的 SSL
配置很不正规,尤其是布置了有些领悟不应当使用的 CipherSuite。

自身事先写的《至于启用 HTTPS
的某个经验分享(一)》,主要介绍 HTTPS
怎么样与一些新出的辽源专门的学问同盟使用,面向的是今世浏览器。而后天那篇小说,更加多的是介绍启用
HTTPS 进程中在老旧浏览器下恐怕遇见的难题,以及哪些挑选。

背景

多年来为了扛 DDoS
攻击,从活动集团申请了一台服务器,移动公司无需付费提供流量冲洗作用。但由于尚未备案,移动集团不容许开展
80 端口。

那是一份前日在开辟者头条上最受大家迎接的上流小说列表,头条君每一日中午为你送达,不见不散!

骨子里是因为GitLab只担任监听本地socket文件,而web服务器采取了Nginx等。只须要在web
server上做适合的配备就能够。

理解 Mixed Content

HTTPS 网页中加载的 HTTP 财富被称呼 Mixed
Content(混合内容),差异浏览器对 Mixed Content 有分裂等的拍卖法则。

SSL 版本接纳

TLS(Transport Layer Security,传输层安全)的前身是 SSL(Secure Sockets
Layer,安全套接字层),它最早的多少个本子(SSL 1.0、SSL 2.0、SSL
3.0)由网景公司花费,从 3.1 开首被 IETF 标准化并更名,发展到现在已经有 TLS
1.0、TLS 1.1、TLS 1.2 三个版本。TLS 1.3 改动会比不小,这几天还在草案阶段。

SSL 1.0 从未公开过,而 SSL 2.0 和 SSL 3.0
都设有安全难题,不推荐使用。Nginx 从 1.9.1 起头暗许只扶助 TLS
的四个本子,以下是 Nginx
合日文档中对
ssl_protocols 配置的认证:

Syntax: ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1]
[TLSv1.2];
Default: ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Context: http, server
Enables the specified protocols. The TLSv1.1 and TLSv1.2 parameters
work only when the OpenSSL library of version 1.0.1 or higher is used.

但不幸的是,IE 6 只协助 SSLv2 和
SSLv3(来源),相当于说
HTTPS 网站要帮衬 IE 6,就务须启用 SSLv3。仅这一项就能促成 SSL Labs
给出的评分降为 C。

目标

为了尽快启用那台担当着负载均衡和反向代理(其实并未有负载均衡)的服务器,笔者安插采取https 公约,利用 443 端口进而避开 80
端口为顾客提供正平常服装务。同期经过使用 https 公约,使得网址访谈进一步安全。

昨日最棒 Top 3:

上边是三个应用Nginx的例证,对GitLab安装指南下载的gitlab脚本文件做了安妥的修改。

早期的 IE

开始时期的 IE 在意识 Mixed Content
诉求时,会弹出「是不是只查看安全传送的网页内容?」那样叁个模态对话框,一旦客商选取「是」,全数Mixed Content 财富都不会加载;接纳「否」,全部财富都加载。

加密套件选取

加密套件(CipherSuite),是在 SSL
握手中须要议和的很关键的三个参数。顾客端会在 Client Hello
中带上它所辅助的 CipherSuite 列表,服务端会从中选定三个并因而
Server Hello 重返。假诺客商端辅助的 CipherSuite 列表与服务端配置的
CipherSuite 列表未有交集,会导致不可能做到协商,握手战败。

CipherSuite
包括二种技艺,举例认证算法(Authentication)、加密算法(Encryption)、音信认证码算法(Message
Authentication Code,简称为 MAC)、密钥调换算法(Key
Exchange)和密钥衍生算法(Key Derivation Function)。

SSL 的 CipherSuite 协商机制具备出色的扩大性,每种 CipherSuite 都亟需在
IANA 注册,并被分配三个字节的标识。全体 CipherSuite 能够在 IANA 的 6165金沙总站,TLS
Cipher Suite
Registry
页面查看。

OpenSSL 库帮忙的全体 CipherSuite 能够因此以下命令查看:

openssl ciphers -V | column -t 0xCC,0x14 – ECDHE-ECDSA-CHACHA20-POLY1305
TLSv1.2 Kx=ECDH Au=ECDSA Enc=ChaCha20-Poly1305 Mac=AEAD … …

1
2
3
openssl ciphers -V | column -t
0xCC,0x14  –  ECDHE-ECDSA-CHACHA20-POLY1305  TLSv1.2  Kx=ECDH        Au=ECDSA   Enc=ChaCha20-Poly1305  Mac=AEAD
… …

0xCC,0x14 是 CipherSuite 的数码,在 SSL
握手中会用到。ECDHE-ECDSA-CHACHA20-POLY1305
是它的称号,之后几有些各自代表:用于 TLSv1.2,使用 ECDH 做密钥调换,使用
ECDSA 做表明,使用 ChaCha20-Poly1305 做对称加密,由于 ChaCha20-Poly1305
是一种 AEAD 方式,无需 MAC 算法,所以 MAC 列彰显为 AEAD。

要了然 CipherSuite 的越多内容,能够翻阅这篇长文《TLS 交涉分析 与
当代加密通信左券设计》。由此可知,在布置CipherSuite 时,请必须参考权威文书档案,如:Mozilla
的推荐配置、CloudFlare
使用的配备。

如上 Mozilla 文书档案中的「Old backward compatibility」配置,以及 CloudFlare
的布署,都足以很好的杰出老旧浏览器,包含 Windows XP / IE6。

此前看到有个别大厂商以至帮助包蕴 EXPORT
CipherSuite,这一个套件在上世纪由于United States开口限制而被弱化过,已被打下,实在未有理由再使用。

步骤

1.哪些免费地让网址启用
HTTPS

# GITLAB
# Maintainer: @randx
# App Version: 4.0

相比新的 IE

相比新的 IE
将模态对话框改为页面尾巴部分的提示条,未有在此以前那么干扰客商。何况暗中同意会加载图片类
Mixed Content,别的如 JavaScript、CSS
等能源仍然会基于客商选拔来支配是还是不是加载。

SNI 扩展

咱俩知道,在 Nginx 中得以因此点名不相同的 server_name
来配置多少个站点。HTTP/1.1 左券乞请头中的 Host
字段能够标志出这两天央求属于哪个站点。但是对于 HTTPS 网址来讲,要想发送
HTTP 数据,必得等待 SSL
握手完结,而在拉手阶段服务端就务须提供网站证书。对于在同叁个 IP 陈设差异HTTPS 站点,並且还选用了不一样证书的情状下,服务端怎么知道该发送哪个证书?

Server Name Indication,简称为 SNI,是 TLS
的三个恢弘,为缓和那个难题应时而生。有了 SNI,服务端能够通过
Client Hello 中的 SNI 扩大获得顾客要访谈网址的 Server
Name,进而发送与之相称的证件,顺遂完成 SSL 握手。

Nginx 在很早以前就援救了 SNI,能够通过 nginx -V
来验证。以下是自个儿的印证结果:

./nginx -V nginx version: nginx/1.9.9 built by gcc 4.8.4 (Ubuntu
4.8.4-2ubuntu1~14.04) built with OpenSSL 1.0.2e-dev xx XXX xxxx TLS SNI
support enabled configure arguments: –with-openssl=../openssl
–with-http_ssl_module –with-http_v2_module

1
2
3
4
5
6
./nginx -V
nginx version: nginx/1.9.9
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
built with OpenSSL 1.0.2e-dev xx XXX xxxx
TLS SNI support enabled
configure arguments: –with-openssl=../openssl –with-http_ssl_module –with-http_v2_module

唯独,实际不是具备浏览器都支持 SNI,以下是大范围浏览器接济 SNI 的最低版本:

浏览器 最低版本
Chrome Vista+ 全支持;XP 需要 Chrome 6+;OSX 10.5.7+ 且 Chrome 5+
Firefox 2.0+
Internet Explorer 7+ (需要 Vista+)
Safari 3+ (需要 OS X 10.5.6+)
Mobile Safari iOS 4.0+
Android Webview 3.0+

举例要防止在不帮衬 SNI 的浏览器中出现证书错误,只好将动用不相同证书的
HTTPS 站点布局在差异 IP 上,最简便易行的做法是分手陈设到不一样机器上。

选拔证书颁发机构

有比很多证书颁发机构,在此以前也应用过 StartSSL
的注明,但新兴被中中原人民共和国的商场收购了,由此一贯铲除。当前免费又火的证书颁发机构当属
Let’s encrypt 了,因而本次作者也采用该部门的证件。

2.有赞风控准绳引擎实行

upstream gitlab {
  server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket;
}

当代浏览器

当代浏览器(Chrome、Firefox、Safari、Microsoft Edge),基本上都服从了
W3C 的 Mixed Content 规范,将
Mixed Content 分为Optionally-blockable 和 Blockable 两类:

Optionally-blockable 类 Mixed Content
包涵那些危险相当小,固然被中间人歪曲也无大碍的能源。今世浏览器暗中同意会加载那类财富,同期会在调节台打字与印刷警告音讯。那类财富包涵:

  • 通过 <img> 标签加载的图片(包涵 SVG 图片);
  • 通过 <video> / <audio> 和 <source> 标签加载的录制或音频;
  • 预读的(Prefetched)资源;

除了全体的 Mixed Content
都是 Blockable,浏览器必得禁止加载那类能源。所以今世浏览器中,对于
HTTPS 页面中的 JavaScript、CSS 等 HTTP
能源,一律不加载,直接在调整台打字与印刷错误音信。

证书选拔

HTTPS 网址供给经过 CA
猎取合法注明,证书通过数字具名才能保障第三方不能够伪造。证书的简约原理如下:

  • 听说版本号、连串号、签字算法标记、发行者名称、保质期、证书主体名、证书主体公钥音信、发行商独一标记、主体独一标记、扩展生成
    TBSCertificate(To Be Signed Certificate, 待签字证书)音讯;
  • 签发数字签字:使用 HASH 函数对 TBSCertificate 总括获得音讯摘要,用
    CA 的私钥对新闻摘要举办加密,获得具名;
  • 校验数字签字:使用同样的 HASH 函数对 TBSCertificate
    总计获得音讯摘要,与行使 CA 公钥解密具名获得内容相相比较;

行使 SHA-1 做为 HASH 函数的表明被叫作 SHA-1 证书,由于近来一度找到
SHA-1 的撞击典型,将证件换来选取更安全的 SHA-2 做为 HASH 函数的 SHA-2
证书被提上日程。

实质上,微软曾经宣示自 2017 年 1 月 1 日起,将健全甘休对 SHA-1
证书的帮衬。届时在风靡版本的 Windows 系统中,SHA-1 证书将不被信任。

而基于 Chrome
官方博客的文章,使用
SHA-1 证书且证书保藏期在 二〇一四 年 1 月 1 号至 二零一四 年 12 月 31
号之间的站点会被授予「安全的,但存在缺欠」的晋升,也正是地址栏的小锁不再是藏青的,并且会有两个风骚小三角。而使用
SHA-1 证书且证书保质期超越 2017 年 1 月 1
号的站点会被授予「不安全」的甲寅革命警戒,小锁上直接展现三个蟹青的叉。

不过,并非独具的顶点都补助 SHA-2
证书,服务端不匡助幸好办,浏览器只可以借助于客商进步了。下边是广泛浏览器帮忙SHA-2 证书的最低版本:

浏览器 支持 SHA-2 证书的最低版本
Chrome 26+
Firefox 1.5+
Internet Explorer 6+ (需要 XP SP3+)
Safari 3+ (需要 OS X 10.5+)
Android Webview 2.3+

能够观察,假若要照管未有打 XP SP3 补丁的 IE6 顾客,只好连续利用 SHA-1
证书。

在本身事先的小说中,还论及过 ECC
证书,这种新颖的注脚帮忙度更差,这里略过不提,风乐趣的同窗能够点这里查看。

是否可以针对分化浏览器启用差别证书吗?理论上服务端能够依附客商端
Client Hello 中的 Cipher Suites 特征以及是或不是协助 SNI
的性格来分配不一致证书,不过本身未有实际验证过。

正文先写这么多,非常多政策都须要依附本身网址的顾客来调整,举个例子笔者的博客基本没有IE8- 顾客,理之当然能够禁止使用SSLv3。借令你的成品还会有比比较多选拔老旧浏览器的顾客,那就无法不为这个客户做同盟方案了。一种方案是:只把主域安全品级配低,将
XP 上 IE 客商的 HTTPS 必要间接重定向到 HTTP
版本,那样任何域名能够选用高安全品级的布置,运营起来相比平价。

1 赞 1 收藏
评论

6165金沙总站 1

安装寻常的走访准绳和平安准绳

  1. 安装应用服务器;
  2. 安装反向代理服务器;
  3. 安装域名深入分析;

3.[译]
JavaScript 专门的学问体制:V8 引擎内部机制及如何编写优化代码的 5
个法门

server {
  listen 443;
  ssl                  on;
  ssl_certificate      /etc/nginx/sites-available/server.crt;
  ssl_certificate_key  /etc/nginx/sites-available/server.key;

一抬手一动脚浏览器

前面所说都以桌面浏览器的行事,移动端意况比较复杂,当前超越1/3运动浏览器默许都同意加载
Mixed Content。约等于说,对于运动浏览器来说,HTTPS 中的 HTTP
能源,无论是图片依然 JavaScript、CSS,暗许都会加载。

诚如选拔了全站 HTTPS,将要幸免出现 Mixed Content,页面全部能源哀求都走
HTTPS 公约技艺担保全体平台具备浏览器下都尚未难题。

安装应用服务器

  • 将装有应用都配备好;
  • 通过 PM2 合併的布局文件运营具备应用;
  • 应用服务器防火墙开放 7000 ~ 8999 区间的端口;
  • 安装安全组。入方向只同意全部 IP 地址访谈 22 的 TCP
    端口,以及反向代理服务器的 IP 地址访谈 七千 ~ 8999 的 TCP
    端口;出方向允许持有端口和和谐;

50 万程序猿都在用的 App,扫描下方二维码,登时体验!

  server_name localhost;
  #Ubuntu1204-dell
source.cml.com;    # e.g., server_name source.example.com;
  root /home/gitlab/gitlab/public;

合理选择 CSP

CSP,全称是 Content Security
Policy,它有非常多的指令,用来促成精彩纷呈与页面内容安全有关的法力。这里只介绍八个与
HTTPS 相关的授命,越多内容能够看自个儿前边写的《Content Security Policy
Level 2
介绍》。

安装反向代理服务器

  • 在反向代理服务器上安顿全体应用服务器应用的域名深入分析;

6165金沙总站 2

 

block-all-mixed-content

近期说过,对于 HTTPS 中的图片等 Optionally-blockable 类 HTTP
资源,今世浏览器暗中同意会加载。图片类财富被威胁,常常不会有太大的难点,但也可能有局地风险,例如比很多网页开关是用图片达成的,中间人把这一个图片改掉,也会困扰顾客使用。

通过 CSP
的 block-all-mixed-content 指令,能够让页面步向对混合内容的严俊检验(Strict
Mixed Content Checking)情势。在这种形式下,全数非 HTTPS
能源都不允许加载。跟其余具有 CSP
法规一样,能够经过以下三种办法启用这一个命令:

HTTP 响应头格局:

JavaScript

Content-Security-Policy: block-all-mixed-content

1
Content-Security-Policy: block-all-mixed-content

<meta> 标签情势:

XHTML

<meta http-equiv=”Content-Security-Policy”
content=”block-all-mixed-content”>

1
<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">

安装域名剖判

  • 将有所域名分析都指向反向代理服务器的 IP 地址;

50 万程序员都在用的 App

  # individual nginx logs for this gitlab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log  /var/log/nginx/gitlab_error.log;

upgrade-insecure-requests

历史漫长的大站在往 HTTPS
迁移的进程中,工作量往往极其伟大,越发是将持有资源都替换为 HTTPS
这一步,很轻易产面生漏。尽管具备代码都承认未有毛病,很或然有个别从数据库读取的字段中还存在
HTTP 链接。

而通过 upgrade-insecure-requests 那个 CSP
指令,能够让浏览器帮忙做那些调换。启用那几个政策后,有五个调换:

  • 页面全部 HTTP 财富,会被替换为 HTTPS 地址再发起呼吁;
  • 页面全部站内链接,点击后会被替换为 HTTPS 地址再跳转;

跟另外具备 CSP
法规一样,那一个命令也可以有三种办法来启用,具体魄式请参见上一节。供给小心的是 upgrade-insecure-requests 只替换条约部分,所以只适用于
HTTP/HTTPS 域名和路径完全一致的气象。

配置 https 协议

  location / {
    # serve static files from defined root folder;.
    # @gitlab is a named location for the upstream fallback, see
below
    try_files $uri $uri/index.html $uri.html @gitlab;
  }

合理选用 HSTS

在网址全站 HTTPS 后,假设客商手动敲入网址的 HTTP
地址,大概从别的市方点击了网址的 HTTP 链接,注重于服务端 30五分三02
跳转技巧应用 HTTPS 服务。而首先次的 HTTP
央求就有希望被勒迫,导致诉求不能达到服务器,进而结成 HTTPS 降级威吓。

参谋资料

  # if a file, which is not found in the root folder is requested,
  # then the proxy pass the request to the upsteam (gitlab unicorn)
  location @gitlab {
    proxy_read_timeout 300; #

    proxy_connect_timeout 300; #

    proxy_redirect    off;

HSTS 基本使用

那几个难题能够通过 HSTS(HTTP Strict Transport
Security,RFC6797)来减轻。HSTS
是八个响应头,格式如下:

JavaScript

Strict-Transport-Security: max-age=expireTime [; includeSubDomains]
[; preload]

1
Strict-Transport-Security: max-age=expireTime [; includeSubDomains] [; preload]

max-age,单位是秒,用来告诉浏览器在钦定时期内,这些网站必需透过 HTTPS
公约来做客。也正是对于这些网址的 HTTP 地址,浏览器供给先在本地替换为
HTTPS 之后再发送供给。

includeSubDomains,可选参数,假若钦赐那么些参数,证明那一个网址有着子域名也非得经过
HTTPS 合同来会见。

preload,可选参数,后边再介绍它的效果与利益。

HSTS 那么些响应头只可以用于 HTTPS 响应;网址必须使用暗中认可的 443
端口;必得利用域名,不能够是 IP。何况启用 HSTS
之后,一旦网址证书错误,客户不能够取舍忽略。

    proxy_set_header  X-Forwarded-Proto $scheme;
    proxy_set_header  Host              $http_host;
    proxy_set_header  X-Real-IP        $remote_addr;

HSTS Preload List

能够见到 HSTS 能够很好的化解 HTTPS 降级攻击,然而对于 HSTS 生效前的第贰回HTTP 央求,如故力不胜任制止被威逼。浏览器厂家们为了减轻那些主题素材,建议了 HSTS
Preload List
方案:内置一份列表,对于列表中的域名,即使客户以前并未有访谈过,也会选取HTTPS 公约;列表能够定时更新。

当前以此 Preload List 由 谷歌(Google) Chrome 维护,Chrome、Firefox、Safari、IE
11 和 Microsoft Edge
都在动用。尽管要想把团结的域名加进那么些列表,首先需求知足以下标准:

  • 富有合法的证件(假诺使用 SHA-1 证书,过期时间必得早于 二〇一五 年);
  • 将持有 HTTP 流量重定向到 HTTPS;
  • 保险全部子域名都启用了 HTTPS;
  • 输出 HSTS 响应头:
    • max-age 无法低于 18 周(10886400 秒);
    • 非得钦定 includeSubdomains 参数;
    • 无法不钦赐 preload 参数;

不怕满意了上述全体标准,也不必然能进来 HSTS Preload
List,更加的多音信能够看这里。通过
Chrome 的 chrome://net-internals/#hsts工具,能够查询有些网址是不是在
Preload List 之中,还能手动把有些域名加到本机 Preload List。

对此 HSTS 以及 HSTS Preload List,作者的建议是一旦你无法保险永恒提供 HTTPS
服务,就不要启用。因为假若 HSTS 生效,你再想把网址重定向为
HTTP,在此以前的老客商会被Infiniti重定向,独一的方法是换新域名。

    proxy_pass ;
  }
}

CDN 安全

对于大站来讲,全站迁移到 HTTPS 后要么得用 CDN,只是必需挑选扶助 HTTPS 的
CDN 了。若是使用第三方 CDN,安全地方有点索要思索的地点。

留意 server { 上面的四行。

创造使用 SGL450I

HTTPS
可避防御数据在传输中被曲解,合法的证件也足以起到表明服务器身份的效益,不过假诺CDN 服务器被侵略,导致静态文件在服务器上被曲解,HTTPS 也无计可施。

W3C 的 SRI(Subresource
Integrity)标准能够用来化解这些标题。SENVISIONI
通过在页面援用能源时钦定能源的摘要签名,来促成让浏览器验证财富是不是被篡改的目标。只要页面不被歪曲,S传祺I
计策正是万不一失的。

至于 S凯雷德I 的更加多表达请看小编前边写的《Subresource Integrity
介绍》。SXC90I 并不是HTTPS
专项使用,但假若主页面被威迫,攻击者能够轻巧去掉财富摘要,进而失去浏览器的
S智跑I 校验机制。

监听443端口,启用ssl,server.crt和server.key文件是参照Nginx的文书档案生成的。

了解 Keyless SSL

其他贰个标题是,在使用第三方 CDN 的 HTTPS
服务时,假使要选用自身的域名,供给把相应的证书私钥给第三方,那也是一件高风险异常高的作业。

CloudFlare 公司本着这种现象研究开发了 Keyless SSL
本领。你能够不把证件私钥给第三方,改为提供一台实时计算的 Key Server
就可以。CDN 要用到私钥时,通过加密通道将须要的参数字传送给 Key Server,由 Key
Server 算出结果并重回就可以。整个进度中,私钥都有限协理在友好的 Key Server
之中,不会暴露给第三方。

CloudFlare
的那套机制已经开源,如需了然实际情况,能够查阅他们官方博客的那篇小说:Keyless
SSL: The Nitty Gritty Technical
Details。

好了,本文先就写到这里,必要专一的是本文提到的 CSP、HSTS 以及 SKugaI
等政策都唯有新型的浏览器才支撑,详细的支撑度能够去CanIUse 查。切换来HTTPS
之后,在性质优化上有比较多新专门的工作要做,这一部分剧情作者在前头的博客中写过非常的多,这里不再另行,只说最根本的一点:既然都
HTTPS 了,赶紧上 HTTP/2 才是正道。

1 赞 4 收藏
评论

6165金沙总站 1

最后proxy_pass 无法修改,不要改成https,不然无法干活。

这段日子试一下用https的主意check out 代码:

git clone https://….

报错,说证书校验有标题:

error: server certificate verification failed. CAfile:
/etc/ssl/certs/ca-certificates.crt CRLfile: none

最简便易行的消除形式是加三个遇到变量:

export GIT_SSL_NO_VERIFY=1

GitLab
的详尽介绍
:请点这里
GitLab
的下载地址
:请点这里

6165金沙总站 4

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图