如何在阿里云ECS上部署原生ipv4/ipv6双栈网站

阿里云老早就在“呼和浩特”地域开放了ECS部署原生ipv6的能力,现在处于公测中。不排除会在其他地域开放此能力

此篇文章引导读者一步一步,使用 CentOS7 部署阿里云ipv6网站,ipv4不赘述。

网络上绝大多数使用he.net的免费转换服务,把he.net提供的ipv6地址和自己的服务器建立一个基于ipv4的网络隧道。这个虽然是切实可行的,架不住延迟大,不稳定。毕竟国内ipv6用户要使用ipv6协议访问到国内的服务器上,要绕道香港、新加坡或者日本。

另外阿里云和其他云厂商提供了收费的ipv6转换服务,当用户的ipv6请求过来后,ipv6转换服务会把网络包转换成ipv4的协议,再发送给ECS、SLB等等服务。

这些转换服务都不是原生的ipv6能力,需要依赖ipv4协议栈工作,而且不方便拿到客户端的ipv6地址,不推荐。

继续阅读“如何在阿里云ECS上部署原生ipv4/ipv6双栈网站”

如何在你的网站上加上IPV6检测功能

现在中国政府正在大力推进ipv6行业发展,个人的小网站可以追一追潮流,具体效果看右侧(手机端在最下面)。

话不多说,直接贴代码,此代码依赖jQuery

<span id="ipv6-span" style="color:red;">你的网络不支持IPV6</span>
<br>
<span id="ipv4-span" style="color:red;">你的网络不支持IPV4</span>
<script>
    jQuery.ajax({
        url: 'https://v4.yinghualuo.cn/bejson',
        type: 'get',
        dataType: 'json',
        success: function(json) {
            jQuery('#ipv4-span').css('color', 'green');
            jQuery('#ipv4-span').html('你的网络完美支持IPV4<br>' + json.ip);
        }
    });
    jQuery.ajax({
        url: 'https://v6.yinghualuo.cn/bejson',
        type: 'get',
        dataType: 'json',
        success: function(json) {
            jQuery('#ipv6-span').css('color', 'green');
            jQuery('#ipv6-span').html('你的网络完美支持IPV6<br>' + json.ip);
        }
    });
</script>

如果您需要在您的网站上调取此跨域请求接口,请联系博主批准后再正式运营。博主不能保证未批准的服务稳定性

解决screen状态为Attached连上不的问题

当你挂起screen,下次想连上screen的时候,有时候会出现screen session的状态为Attached而怎么连也连不上的情况。下面给出解决方法。

列出状态为Attached的session id。

screen -ls
# 剔除某个session的占用
screen -D -r <session-id>

ThinkPHP5 框架redis配置

看了半天官方文档 https://www.kancloud.cn/manual/thinkphp5_1/354116

硬是没测试出来怎么写连接到redis配置,于是干搓源码,看到如何写redis配置

/config/cache.php

return [
    // 驱动方式
    'type' => env('CACHE_TYPE', 'File'),
    'path' => '',
    'prefix' => 'app_name_',
    'expire' => 0,
    'host' => env('REDIS_HOST', '127.0.0.1'),
    'password' => env('REDIS_PASSWORD', ''),
];

写个配置示例,作为备忘

php7.4新语法

// A collection of Post objects
$posts = [/* … */];

$ids = array_map(fn($post) => $post->id, $posts);

上面这个代码等同于下面

$ids = array_map(function ($post) {
    return $post->id;
}, $posts);

使用时有几个注意事项:

  • php7.4才开始支持此语法
  • 以fn关键字开始
  • 只允许有一条语句,一般是return 那句话
  • return关键字可以省略
  • 参数类型和返回类型可以声明

声明类型写法如下:

$ids = array_map(fn(Post $post): int => $post->id, $posts);

如果你想返回一个引用类型,可以这么写:

fn&amp;($x) => $x

还有个特性,在匿名函数里面,引入外部变量时,不需要显式use那个变量

$modifier = 5;

array_map(fn($x) => $x * $modifier, $numbers);

以上的代码,$modifier变量在闭包函数中修改值后,在外部的$modifier不会改变其值,但是$this关键字是给例外。

array_map(fn($x) => $x * $this->modifier, $numbers);

http代理和SOCKS5代理的区别

HTTP代理:能够代理客户机的HTTP访问,主要是代理浏览器访问网页,它的端口一般为80、8080、3128等

SOCKS代理:SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP请求,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。

SOCKS代理又分为SOCKS4和SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端域名解析等。

SOCKS4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS4则不一定能做到,比如我们常用的聊天工具QQ在使用代理时就要求用SOCKS5代理,因为它需要使用UDP协议来传输数据。

http://www.cnblogs.com/sincoolvip/p/7203984.html

东南亚招聘要小心

菲律宾马尼拉又招写代码的了,绝大多数情况下,在东南亚招IT人才大多都是搞在线赌博的。网传工作的时候会收走你的护照等身份证件,让你不能偷偷回国,你也只能呆在汗血工厂里面给上头打工,保安手上还有军火,以防员工出逃,遇到东南亚招聘IT人才就多长个心眼吧,不要贪心就不会上当

继续阅读“东南亚招聘要小心”

Chrome屏蔽烦人的百度搜索热点(无聊的新闻)

开发时,在百度上搜索一些资料时,总是不经意看到百度搜索热点的一些新闻,然后经不住诱惑的标题就不经意间点了进去,然后就是连锁反应了。。等再次回到开发时已经是半小时之后的事了。又要把想要的东西重新捋一遍,导致开发效率低下。为了避免这种情况,只好在网上想办法,发现了一款广告屏蔽软件,之前虽然也在用,但是没想到有如此个性化的功能。

下载Adblock Plus插件:

打开
https://chrome.google.com/webstore/detail/adblock-plus-free-ad-bloc/cfhdojbkjhnklbpkdaibdccddilifddb 安装Adbock Plus插件

安装好了,去设置一下插件,在高级里面添加如下规则:

www.baidu.com##div[tpl=”right_toplist1″]

上面的规则在后期需要更改,如果失效了,请私聊博主。屏蔽完成后美滋滋地撸代码了