自建CDN加速-Nginx反向绑定,缓存加速,自动更新缓存和获取真实IP

虽然现在博客放在阿里云香港CN2 VPS主机上,电信由于走的是CN2线路,所以访问速度会比较快(不过也收到过电信的朋友反馈说有访问慢的(⊙﹏⊙))。而联通、移动用户访问起来会比较慢了,尤其是晚高峰期不少朋友说根本无法打开。

而从官方的公告来看,阿里云香港CN2 VPS也确实遭遇过联通线路或者电信线路节点出现问题,从而导致整个机房访问出现状况。当然,阿里云自然会把“锅”甩给运营商。之前也一段时间联通用户访问阿里云香港VPS就是绕道日本或者其它地方。

当初从Kdatacenter韩国VPS搬家到阿里云香港VPS,一是觉得阿里云香港VPS确实便宜,吸引力足够大;二是CN2线路感觉可能会不错,至少比美国线路会快不少。现在看来,除了电信用户访问会顺畅些,其它的运营商的用户会时不时地出点问题。

为了解决这个问题,自然想到的就是给网站做CDN加速。国内的VPS没有BA号自然不能使用,于是找到韩国VPS利用Nginx反向-代-理的方法,将移动、联通用户的访问请求转到CDN服务器上,这样可以最大限度地加快网站访问速度。

自建CDN加速-Nginx反向绑定,缓存加速,自动更新缓存和获取真实IP

本篇文章就来详细讲解一下如何给网站自建CDN加速并缓存相应的页面和文件,同时当网站内容有更新时利用ngx_cache_purge来及时更新CDN服务器上的缓存,最后在使用过程中解决源服务器获取用户真实IP的问题。更多CDN加速及建站工具有:

  1. 加入Cloudflare Partner免费提供CloudFlare CDN加速服务-无需修改NS支持SSL
  2. 用Fikker自建CDN-支持Https,页面缓存,实时监控,流量统计,防CC攻击
  3. 两款优秀的服务器网络流量监控工具:Ntopng和Munin-功能强大直观

PS:2018年4月27日更新,目前挖站否的图片与JS、CSS等静态文件采用的是又拍云CDN,评测文章:又拍云CDN加速申请使用教程-一键镜像,静态动态CDN和免费SSL

PS:2018年3月6日更新,不想自己搭建CDN的可以试试第三方的CDN加速服务,我们熟悉的CloudFlare就是一个非常不错的选择:十个你可能不知道的CloudFlare免费CDN加速技巧-SSL\DDOS\Cache

一、安装Nginx

你可以手动安装配置Nginx,或者使用LNMP一键安装包来安装Nginx,比较好用的有:OneinstackLNMP。如果您都不想使用,可以试试xiaoz的一键Nginx安装包(适用于Centos 7、Deebian 8)。

  1. https://github.com/helloxz/nginx-cdn

Linux一键安装Nginx并开启CDN(反向代#理),执行下面的命令安装即可。

wget https://raw.githubusercontent.com/helloxz/nginx-cdn/master/nginx.sh
chmod +x nginx.sh && ./nginx.sh

二、Nginx相关配置

这里我以wzfou.com作加速为例,有一台源站VPS,还有一台用作CDN反向代#理的VPS,它两者对应的IP如下:

1、源站:192.168.1.100,就是wzfou.com网站数据真实存放的地方

2、CDN:192.168.1.101  CDN节点,如果有多台操作方法是一样的

先在CDN节点上修改Hosts,目的就是告知CDN节点从那里去获取网站数据,也就是回源地址,修改如下:


vi /etc/hosts
192.168.1.100	www.wzfou.com

然后在CDN节点创建nginx配置文件wzfou.com.conf

#创建缓存目录
mkdir -p /data/wwwroot/caches/wzfou.com
#设置缓存目录权限
chown -R www:www /data/wwwroot/caches/wzfou.com
#创建wzfou.com.conf
vi /usr/local/nginx/conf/vhost/wzfou.com.conf

Nginx CDN创建文件夹

wzfou.com.conf中添加下面的内容,缓存目录/缓存时间请根据实际情况调整,后面会详细说明各参数含义。

proxy_cache_path /data/wwwroot/caches/wzfou.com levels=1:2 keys_zone=wzfou:50m inactive=30m max_size=50m;
server {
    listen 80;
    server_name wzfou.com;
    charset utf-8,gbk;
        location / {
        proxy_set_header Accept-Encoding "";
           proxy_pass https://wzfou.com;
           proxy_redirect off;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_cache wzfou;
           proxy_cache_valid  200 304  30m;
           proxy_cache_valid  301 24h;
           proxy_cache_valid  500 502 503 504 0s;
           proxy_cache_valid any 1s;
           proxy_cache_min_uses 1;
           expires 12h;
    }
}

相关的说明如下:

1、/data/wwwroot/caches/wzfou.com:为缓存目录

2、levels:指定该缓存空间有两层hash目录,第一层目录为1个字母,第二层为2个字母。

3、keys_zone=wzfou:50m:为缓存空间起个名字,这里取名为“wzfou”,后面的50m指内存缓存空间 。

4、inactive=30m:如果30分钟内该资源没有被访问则删除

5、max_size=50m:指硬盘缓存大小为50MB

6、proxy_cache_valid:指定状态码缓存时间,前面写状态码,后面写缓存时间。

最后重载nginx使配置生效,如果使用的oneinstack直接输入命令:service nginx reload,如果是xiaoz一键脚本输入:/usr/local/nginx/sbin/nginx -s reload。  

三、Https站点反向代-理

上面分享的是Http站点的Nginx反向代-理设置,如果你是想反向代-理Https站点,你需要先为你的域名申请好SSL证书,接着你只需要设置好SSL证书路径,参考如下配置进行调整即可:

proxy_cache_path /data/wwwroot/caches/wzfou.com levels=1:2 keys_zone=wzfou:50m inactive=30m max_size=50m;
server {
  	listen 443 ssl http2;
	ssl_certificate	/data/ssl/wzfou/wzfou.com.crt;
	ssl_certificate_key	/data/ssl/wzfou/wzfou.com.key;
	ssl_session_timeout 1d;
	ssl_session_cache builtin:1000 shared:SSL:10m;
    #ssl_dhparam /data/ssl/dhparam.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
    ssl_prefer_server_ciphers on;


    ssl_stapling on;
    ssl_stapling_verify on;

    server_name wzfou.com;
    access_log /data/wwwlogs/wzfou.com_nginx.log combined;
   
    charset utf-8,gbk;
        location / {
        proxy_set_header Accept-Encoding "";
           proxy_pass https://wzfou.com;
           proxy_redirect off;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_cache wzfou;
           proxy_cache_valid  200 304  30m;
           proxy_cache_valid  301 24h;
           proxy_cache_valid  500 502 503 504 0s;
           proxy_cache_valid any 1s;
           proxy_cache_min_uses 1;
           expires 12h;
    }
}
server {
    listen 80 default_server;
    return 301 https://$host$request_uri;
}

四、ngx_cache_purge清除更新缓存

清理Nginx缓存需要ngx_cache_purge模块帮助,可输入命令nginx -V查看已经编译的模块,如果没有ngx_cache_purge说明模块没有安装,则需要重新编译一下Nginx。

Nginx CDN是否安装清除缓存

4.1  配置ngx_cache_purge

在server段内加入下面的配置,并重载Nginx,下面的wzfou请与keys_zone定义的值保持一致,否则nginx将无法启动。

location ~ /purge(/.*) {
allow all;
proxy_cache_purge wzfou $proxy_host$1$is_args$args;
error_page 405 =200 /purge$1;
}

如果想清理缓存,添加purge参数即可,如https://www.xiaoz.me/purge/xxx.png,如果该文件存在缓存,则会提示如下截图。若不存在缓存,则返回404,若无论什么情况均返回404,可能配置没成功。

Nginx CDN删除缓存成功

4.2  WordPress自动刷新缓存

对于Wordpress博客,如果启用CDN后页面被缓存,用户提交评论后无法马上显示出来,可以使用Ajax异步请求ngx_cache_purge接口,当用户提交评论的时候则清除该页面缓存。只需要下面的这段js添加到footer.php即可。

<script>
		$(document).ready(function(){
			$("#submit").click(function(){
				var uri = "https://wzfou.com/purge" + window.location.pathname;
				$.get(uri,function(data,status){
					return true;
				});
			});
		});
	</script>

以下是小z博客CDN完整配置,仅供参考,你需要替换好Keys_zone、SSL路径、域名等:

proxy_cache_path /data/caches levels=1:2 keys_zone=xiaozcdn:100m inactive=30m max_size=100m;
server
    {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl on;
    ssl_certificate /xxx/www_xiaoz_me.crt;
    ssl_certificate_key /xxx/www_xiaoz_me.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;

    server_name     www.xiaoz.me;
    charset utf-8,gbk;

   #删除缓存
    location ~ /dcache(/.*) {
    allow all;
    proxy_cache_purge xiaozcdn $proxy_host$1$is_args$args;
    error_page 405 =200 /purge$1;
    }

       location / {
       #proxy_set_header Accept-Encoding "";
       proxy_pass https://www.xiaoz.me;
       proxy_redirect off;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_cache xiaozcdn;
       proxy_cache_valid  200 304  30m;
       proxy_cache_valid  301 24h;
       proxy_cache_valid  500 502 503 504 0s;
       proxy_cache_valid any 1s;
       #达到第几次被缓存?
       proxy_cache_min_uses 1;
       expires 12h;
       proxy_cache_key    $uri$is_args$args;
    }
}
server
{
    listen 80;
    server_name www.xiaoz.me;
    rewrite ^(.*) https://www.xiaoz.me$1 permanent;
}

五、做好DNS域名解析

利用DNS域名解析提供的线路、地域、客户端等DNS解析功能,我们可以将不同的宽带用户、省份用户还有客户端用户解析到CDN节点上了。

Nginx CDN作好DNS解析

使用站长工具测试看到wzfou.com不同地方的用户访问到了不同的CDN节点就表示我们的CDN加速部署成功了。

Nginx CDN不同的IP

六、启用CDN后无法获取真实IP

如果是Wordpress用户,当你启用了Nginx CDN加速后,你会发现WP后台获取到的用户评论IP都变成了CDN节点的,解决这个问题也很简单,只需要将下面一段代码加入到wp-config.php文件中即可:

if (isset($_SERVER['HTTP_X_REAL_IP'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}

七、总结

Nginx反向绑定域名搭建CDN加速服务器低成本安装配置简单,特别适合不想使用付费CDN的朋友,事实上很多的专业CDN加速也是采用Nginx反向代#理的方式来加速网站访问,可以说Nginx CDN是非常有效的加速方法。

Nginx CDN生成的缓存插件

Nginx CDN加速在使用过程中有两个需要注意的问题,一个是缓存更新问题,如果你的网页更新频率的话,可以设置一个更新时间间隔,第二个就是用户真实IP的问题,我们可以使用PHP或者Nginx等直接获取真实的IP地址。

文章出自:挖站否 https://wzfou.com/nginx-cdn/,内容参考自:小Z博客 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

关于站长(Qi),8年前经常混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,愿意将自己经验与心得分享出来,与大家共勉。

60 个评论

  • 新笔趣阁 回复

    2018年3月6日 at 下午10:07

    我的是宝塔直接做的反代,对各种命令不熟悉的话,宝塔这个还是方便的。

    • Qi 回复

      2018年3月7日 at 下午9:23

      原理是一样的,宝塔是不是反代不好搞缓存?

      • 新笔趣阁 回复

        2018年3月7日 at 下午10:25

        我是取消缓存的,没试过缓存

        • Qi 回复

          2018年3月8日 at 上午9:37

          就只用反代功能?

          • 新笔趣阁 回复

            2018年3月8日 at 上午11:11

            对,只反代,主要是源服务器线路差, 反代一下速度快很多,节约成本 giggle

  • 薅羊毛 回复

    2018年3月6日 at 下午10:18

    玩不赚,还是花钱的好

    • Qi 回复

      2018年3月7日 at 下午9:23

      这个自建的可以自己购买一个韩国的VPS来搞。

  • 王大佬 回复

    2018年3月7日 at 上午7:52

    QI哥是定时发布的?好多天早上都会收到邮件通知 smile giggle

    • Qi 回复

      2018年3月7日 at 下午8:16

      是的,设置定时的。

    • 夏目贵志 回复

      2018年3月8日 at 上午10:03

      我都是每天晚上7点多才收到邮件 2333

  • 初相遇 回复

    2018年3月7日 at 上午8:22

    反代汤不热,怎么不行啊

    • Qi 回复

      2018年3月7日 at 下午8:10

      可能是被反制了。

    • Unee Wang 回复

      2018年3月15日 at 下午10:36

      Tumblr有很多静态文件的域名,要全部添加进去,否则,网站能打开,但很多内容看不到。我试过反代Tumblr,能打开,但是要改的东西太多,放弃了

  • xiaoz 回复

    2018年3月7日 at 上午9:21

    qi申请# adsense是一次性过的吗?我申请了好几次都没过,提示“内容不足”

    • Qi 回复

      2018年3月7日 at 下午8:09

      是好几年前申请的,一次过的。多试几次,我感觉和内容丰富不丰富没有关系,有些人一次就过了。

  • 夏目贵志 回复

    2018年3月7日 at 上午10:01

    感觉现在阿里云APP*很简单啊,过段时间我要重新*一下 然后在把2个网站在*一下!!@qi 好像这个网站没*呀,百度说添加*号2个月网站收录会更好!

    • Qi 回复

      2018年3月7日 at 下午7:58

      这个网站不打算BA了。博主可以将购买一个.com域名。cn域名不是容易注册的吗?怎么这么长的?

      • 夏目贵志 回复

        2018年3月8日 at 上午10:02

        这域名是兴趣使然注册的,长短都无所谓的。不BA对以后国家政#策会有影响吗?感觉现在#的越来越#严了!!

        • Qi 回复

          2018年3月8日 at 下午4:27

          有影响,比如我现在的网站就是有不少的地方打不开,也查不出原因。

          • 夏目贵志 回复

            2018年3月9日 at 上午10:30

            国家政策这么严了,CDN都没有用了吗!!

  • X 回复

    2018年3月7日 at 下午4:20

    Qi,有没有分线路,分地区解析的dns啊?cloudxns和dnspod国内都排除掉了,国际邮箱验证不了

    • 李毅哲 回复

      2018年3月7日 at 下午7:45

      DNSPod有国际版可以使用

    • Qi 回复

      2018年3月7日 at 下午7:57

      Rage4,GeoScaling,Route53 这三个不错,分地区解析,但是由于是国外的所以不支持分省。

  • ChromeFor浏览器插件下载中心 回复

    2018年3月7日 at 下午10:10

    我多节点下载站,就是这么做的。

    • Qi 回复

      2018年3月8日 at 上午9:39

      这个下载站,反代有加速效果?

      • ChromeFor浏览器 回复

        2018年3月8日 at 下午2:18

        还行吧。就是我头像的站,一台jp的反代。比原来的快多了

  • 回复

    2018年3月8日 at 上午9:16

    如果主要访问来自国内的话,那用国外的CloudFlare加速有用吗?目前我的是在阿里云新加坡上的,好像也是CN2路线,不知道加了CloudFlare后会不会弄巧成拙。。。

    • Qi 回复

      2018年3月8日 at 上午9:33

      那不要用CF加速了,用了后反而更慢。cn2的速度已经足够好了,就是联通、移动会慢一些。

      • 回复

        2018年3月8日 at 上午9:43

        明白了, 感谢qi总~

  • 不外乎 回复

    2018年3月8日 at 下午2:41

    博主,你这网站是不是被广东电信给wa11了,本地深圳电信打不开,ipip测试几个gd节点也不通,但是ping貌似没问题

    • Qi 回复

      2018年3月8日 at 下午3:53

      我把防火*给关闭了,现在看看还行不?

      • 不外乎 回复

        2018年3月8日 at 下午3:56

        貌似还是不行,我都是收到邮件端梯#子才进来的

        • 不外乎 回复

          2018年3月8日 at 下午3:57

          PS:博主用的那个邮件插件?我正好在配置WordPress的邮件发送功能

          • Qi 回复

            2018年3月8日 at 下午4:21

            用的是这个插件:Post SMTP,smtp用的是gamil和zoho两个,https://wzfou.com/zoho-mail/

        • Qi 回复

          2018年3月8日 at 下午4:22

          还有一个镜像,修改一下Hosts的IP为:103.95.30.29。看看行不行?

          • 不外乎 回复

            2018年3月8日 at 下午4:25

            这个可以了,还是用梯子#####吧 eg

  • 主机吧 回复

    2018年3月8日 at 下午4:34

    为何你不换国内的呢 感觉国内就算最烂的空间商互联互通做得都比香港主机好吧 更何况阿里云其实没有想像中好,都是吹出来的品牌 我一个客户用他们服务器总是CPU标到80% 换成华夏的高峰也才60% 都是同配置 原因查了很久,没找到。

    • Qi 回复

      2018年3月8日 at 下午5:35

      主要是不想再BA了。太麻烦。

      • Starrydots 回复

        2018年3月9日 at 下午12:33

        *的话,可能平均都要到10-15天

  • 玩游戏赚钱 回复

    2018年3月9日 at 上午1:04

    有点高深,反正文章图片不多,用日本主机访问挺快的

    • Qi 回复

      2018年3月9日 at 上午8:47

      还可以用来加速JS和CSS静态文件。

  • Starrydots 回复

    2018年3月9日 at 下午12:33

    感觉还是使用第三方的比较好吧。自建的第一个不好配置,出问题不好弄。 idea

    • Qi 回复

      2018年3月10日 at 下午9:56

      是的,一般来说还是用第三方的好一些。

  • Starrydots 回复

    2018年3月9日 at 下午12:38

    Qi,的网站在韩国吗?我看了下跑韩国了。联通也是走的CN2………我说有时候访问你网站总是Boom。原来联通也走了CN2. 59.43开头的,CN2 IP。
    走上海是CN2 上海到韩国也是CN2

    • Qi 回复

      2018年3月10日 at 下午9:51

      是的,移动和联通走韩国镜像,因为好多人反馈说移动与联通访问不了阿里云香港的。

  • 学习笔记Blog 回复

    2018年3月10日 at 下午9:58

    不错,赞一个先!

  • Azure 回复

    2018年3月12日 at 下午12:15

    上个月也刚做了这个
    只分类缓存html|gif|jpg|png|css|js|flv|ico|swf这些静态资源应该更好吧,像css和js再配上一个整合压缩插件,保证页面能及时更新

    • Qi 回复

      2018年3月12日 at 下午8:55

      是的,博主的博客打开速度很快。

  • 小翁 回复

    2018年3月17日 at 下午11:03

    最近也做了一个类似的优化,站在国内主机,没ba的域名用国外vps反代,静态文件直接用一个已*域名套国内cdn,目前速度也还可以。
    唯一缺陷是反代用的vps太慢了….

    • Qi 回复

      2018年3月18日 at 上午10:27

      一来一回会不会更慢?还是会加快速度?放在国外,再反代效果如何?

      • 小翁 回复

        2018年3月18日 at 上午10:56

        文件本身就放在国内,国外的机子只用来反代页面。试过站放国外,调用某些国内接口会超时

  • stone123 回复

    2018年3月30日 at 下午10:27

    站长Qi,我想请教一下,利用Nginx做反向&&,源站VPS的环境是否也必须使用Nginx来搭建,可以不可以用LAMP来搭建源站,然后用Nginx做CDN站,因为我用的是bitnami的堆栈wordpress,他们目前只提供了LAMP的安装版。

    • Qi 回复

      2018年3月31日 at 下午8:43

      可以的,没有问题。

  • 小清新 回复

    2018年6月28日 at 下午11:22

    博主Qi,请问如果有多个CDN节点服务器,DNS能作解析呢?

    • Qi 回复

      2018年6月28日 at 下午11:55

      可以使用DNS智能解析,根据不同的用户用DNS将它们访问到不同的CDN节点上。

  • 小清新 回复

    2018年7月17日 at 上午8:42

    Qi总,这种自建的CDN,一个域名绑定多个ip对seo有没有影响呢?好像收费的CDN都带有X-Via的响应头

    • Qi 回复

      2018年7月17日 at 上午10:44

      影响不大,我们可以用DNS的搜索引擎源站的功能,让百度等蜘蛛爬源站就可以了。

  • 小清新 回复

    2018年8月14日 at 下午4:41

    Qi总,今天按照你的文章配置,自建的CDN能&&了,就是nginx日志里好多504 timeout,请问修改那些nginx参数可以避免呢?

    • Qi 回复

      2018年8月14日 at 下午7:54

      在server段加入

      p-roxy_connect_timeout 60s;
      p-roxy_read_timeout 500s;
      p-roxy_send_timeout 500s;

      不指定的话,默认的是60S,有时运行PHP程序时会超出这个时间,可以根据实际情况来调整这三个数字。(评论关键词有替换,把-号去掉。)

发表评论

Login

欢迎!请登录你的账号。

记住我 忘记密码?

还未注册 注册

Lost Password

Register

返回顶部