Socat一键安装脚本,可转发TCP和UDP流量

说明
一般用海外服务器的都会遇到线路爆炸,网络不好的情况,导致我们用55R等软件的效果很差,这时候就可以用端口转发来改善这种情况,常见的转发有rinetd、Haproxy、iptables、socat,前面2种只能转发TCP,后面TCP/UDP都可以转发,如果用来玩游戏的话就需要转发UDP了,下面是个Socat一键安装脚本。

安装
系统要求:支持CentOS 6+ 、Debian 7+、Ubuntu 14+。
脚本说明:脚本默认开启UDP、TCP转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。
提示:该脚本在Vultr各个系统均测试通过,包括最新的Ubuntu 18.04,如果有其它问题可以留言。

使用root运行以下命令:

wget https://raw.githubusercontent.com/iiiiiii1/Socat/master/socat.sh && bash socat.sh

按要求输入以下信息:

如果你要用本地服务器的3333端口转发IP为

1.1.1.1服务器的6666端口,那就依次填入指定参数。
请输入本地端口:3333
请输入远程端口:6666
请输入远程IP:1.1.1.1

输入后直到配置完成。

本文转自:https://www.moerats.com/archives/621/

使用SolusVM创建KVM VPS

本篇文章转自:https://www.zrj96.com/post-749.html 文章中主被控均为CentOS 7系统,其实对于SolusVM这种面板推荐使用CentOS 6问题少一些,不过博主个人对于网卡配置也是初学阶段,暂时是模仿状态,习惯CentOS 7,所以就使用CentOS 7来作为主系统。所以说如果你是CentOS6系统,在桥接网卡这一步千万别学我!!!

一、面板介绍

SoluVM目前是OnApp旗下的产品,不过2.0版已经难产多年,还在1.x缓慢更新…如果你使用过VPS,尤其是国外VPS的话大部分都是使用SolusVM面板来创建VPS,那么相应的教程和文档就会成熟完整一些。同时SolusVM对于财务系统例如WHMCS的对接非常简单方便,所以很多主机商都在使用。Proxmox也可以对接WHMCS,但是相关设置非常繁杂,一般也没什么主机商会使用这套系统。

SolusVM分为主控(Master)、被控(Slave)两套程序,如果你是KVM/Xen虚拟化需要分别安装在两台机器中,无法直接在一台已经安装了Xen或者KVM的Slave上安装Master,但是你可以在Slave上开的VM中安装Master,当然如果你有别的的空的机器还是建议分开(OVZ可以使用Master with OpenVZ来实现安装在一台机器上)。主控的售价为10美元/月,有30天免费试用,被控是2.5美元/月/终端。

官方网站:https://solusvm.com/

二、被控端配置(Slave)

无论是主控还是被控需要纯净系统才能安装成功,不要存在例如cPanel、BT等面板。

被控端一般都是独立服务器,最好是有救援系统、可以自定义分区的服务器,当然部分主机商在重装的时候可以自定义配置或者提交工单告诉他们你要的分区配置。本次我们以德国Hetzner独立服务器为例来设置。

1.进入救援系统设置

Hetzner提供了一个非常方便的救援系统可以自定义安装系统和分区,进入控制面板,点击Rescue启动救援系统,再到Reset重启你的服务器,一般是第一个选项,按一次关机,等一会再按一次就开机了。连接SSH,端口为22,密码可以在开启救援系统的时候看到,root用户登录。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

进入后输入命令:

installimage

现在就可以选择你需要的系统了,本次是CentOS7。当然你也可以利用这个功能安装Proxmox。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

Hostname设置

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

2.RAID设置

会显示一个蓝底页面来设置,最上面是RAID的设置,根据自己需要来。如图所示选择是否开启RAID,如果开启RAID要选择什么模式。因为服务器只有两块硬盘,所以最多只能RAID1。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

RAID0是性能最好的模式,两块硬盘都会被使用,但是非常不安全,一块硬盘挂掉就一起挂

RAID1最安全,但是性能下降,而且有一块硬盘作为备份无法使用,例如2X2T硬盘,你只有2TB可以使用。

No RAID即不开启RAID,性能略比RAID1好一些,同时也可以有效利用磁盘空间。三种RAID模式根据自己需要来使用,一般建议No RAID,如果你追求大空间和高性能可以RAID0,但是要自己注意备份。RAID1是最安全的保守模式,适合不追求空间大小和性能的使用,保证数据安全。

3.磁盘分区

重要的磁盘分区,SolusVM对于磁盘分区有一定要求。对于不同虚拟化有不同的要求,本次以KVM虚拟化为例。推荐设置Swap为4GB以上,/ 根目录为80GB以上,其余空间不分配,全部LVM交由SolusVM自动创建。

如图对磁盘分区,主要是需要注释掉注释使其生效,删除多余空间。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

对PART部分添加注释使其失效,以免影响分区。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

全部完成后按F10保存设置,一路确定就可以等待自动安装了,如果出现错误会自动跳到出错的地方进行排查。

4.完成安装系统

全部完成后reboot重启服务器即可正常使用了,要注意的是Root密码为救援系统的密码。

5.购买额外IP

因为创建的是独立IPv4的KVM VPS,所以我们买几个IP。

Hetzner允许一台机器最多有6个单独IP,更多的IP需要你购买一整个段。单个IP的价格为0.84欧元/个/月。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

如图所示购买IP,买一个段还是一个,理由是什么,一般如实填写就行,很快IP就会显示在控制面板中。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

6.桥接网卡设置

创建KVM VPS多的一步就是桥接网卡,这一步非常重要也非常危险,一个步骤和参数错误就会导致网卡无法启动,丢掉网络无法连接,所以请仔细配置,提前备份主网卡文件。

(1)安装软件包

yum install bridge-utils -y

(2)备份网卡文件,CentOS7 中主网卡文件在/etc/sysconfig/networkscripts/中,文件名为enp2s0,CentOS6一般为ifcfgeth0

(3)修改网卡文件配置

第一步修改主网卡文件,利用vi/vim编辑器就行,三个网卡文件的内容参考后面的图。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

第二步新建桥接网卡文件

vi /etc/sysconfig/network-scripts/ifcfg-br0

再新建一个路由网卡文件

vi /etc/sysconfig/network-scripts/route-br0

如图是我的配置,安装这个配置来就可以,当然这是在Hetzner服务器+CentOS系统下,不同系统不同服务器请根据实际情况设置。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

之后重启网卡,如果文件没问题就会重启成功

/etc/init.d/network restart

7.安装被控端

wget https://files.soluslabs.com/install.sh
sh install.sh

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

选择KVM即可,会全自动安装,安装完成后会提供一个ID+KEY,请务必留存,用于对接主控使用。

至此被控端设置已经完成。

三、主控端安装(Master)

主控端服务器我们建议和被控离的近一点或者都在国外方便连接,以免主控在国内和被控连通性较差,命令反应慢。。。主控服务器没有具体要求,一般一个1GB的VPS就行了,当然OVZ都可以,省钱嘛,23333.

(1)主控安装

本次是纯净的CentOS7 系统作为主控,运行安装命令

wget https://files.soluslabs.com/install.sh
sh install.sh

选择主控的安装,不要安装虚拟化。。。

全自动完成,成功后会给出控制面板后台和前台信息,用户名和密码默认为vpsadmin。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(2)SSL安全连接

SSL有两种方式,手动和自动。

1.手动安装SSL。

手动当然是自己的SSL证书,把/usr/local/svmstack/nginx/ssl里的文件和密钥替换就行了,重启nginx

service svmstack-nginx restart

2.自动SSL就是利用Let’s Encrypt免费证书了,使用前确保你的域名已经成功解析到IP上。

yum install -y curl &&
curl https://get.acme.sh | sh && source ~/.bashrc 
acme.sh --issue -d solusvm.yourdomain.com -w /usr/local/solusvm/www/.verification
acme.sh --installcert -d solusvm.yourdomain.com \
--keypath /usr/local/svmstack/nginx/ssl/ssl.key \
--fullchainpath /usr/local/svmstack/nginx/ssl/ssl.crt \
--reloadcmd "service svmstack-nginx restart; \
/usr/local/svmstack/sshwebsocket/quit; \
/usr/local/svmstack/sshwebsocket/port_check; \
cd /usr/local/svmstack/nginx/ssl && cat ssl.key ssl.crt > ssl.pem"

(3)汉化前台

管理员后台只有英文,反正也不是很难。。前台中文可以优化一下用户体验。

cd /usr/local/solusvm/language/client/
wget "https://documentation.solusvm.com/download/attachments/7667936/Simplified-Chinese.lang.txt?api=v2" -O Chinese.lang.txt
chown solusvm:solusvm Chinese.lang.txt

四、主控端配置和使用

(1)面板后台主页

一进来就是控制面板的主页,这就是你们的VPS在商家后台那里的样子啦

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(2)修改管理员密码

安全是必须的,先修改管理员密码。Config-Admin就能添加管理员用户、修改管理员密码了。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(3)添加节点(Node)

Nodes——Add Node,设置名字、IP、端口,填写被控安装的ID和KEY,选择虚拟化,设置LV Group(被控端使用命令 vgs 即可查看),这样就添加好了节点。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

在添加完成后再编辑节点,可以设置创建VPS的数量,给该节点分配多少资源,否则都是0的话也无法成功创建。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(4)添加IP

IP Blocks——Add IP Block,创建一个IP组,起个名,网关、DNS,DNS默认用Google的就行,网关可以在Hetzner后台的主IP那里看到,一般尾数都是65。选择给哪个节点使用即可。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

添加组后添加单个IP,如图所示。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

添加Mac地址,不要使用auto的Mac,如下图,在Hetzner的IP那里创建Mac地址,然后一个个添加即可。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(5)创建与同步系统模板

KVM的模板官方主流提供了4个最新版模板,对于OpenVZ需要使用OpenVZ官方的模板就行。

例如我们添加CentOS 7模板

官方的下载页面:https://tdn.solusvm.com/ 这个页面介绍了你下载模板,怎么设置等。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

连接主控服务器的SSH,运行命令

wget http://templates.repo.onapp.com/solusvm/kvm/linux-centos-7-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-7-x86_64-minimal-latest.gz

模板下载后会自己存放到/home/solusvm/kvm/template/文件夹中

再到主控后台的Media——Add KVM Template添加模板即可,起一个名字,设置描述,选择正确的模板文件,安装TDN页面设置分区和root密码即可。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

添加完成后再编辑模板设置,可以对CPU模式、默认分配CPU和线程数等可以进行设置,推荐CPU设置为host-passthrough,这样可以显示真正的CPU参数,开启一些指令集来跑程序,如果使用默认的QEMU的话虽然方便迁移等操作,但是会关闭一部分指令集可能造成一些需求无法正常使用。

创建完全部模板后我们就需要把模板同步到被控服务器上去使用。

进入Media——Media Sync,选择你要同步的模板,再选择需要同步的节点,创建一个同步任务。创建成功后状态为Queue,等待一段时间变成Active状态后,代表你的模板已经成功同步到被控服务器上了。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(6)创建VPS

首先要创建一个用户,没有用户你创建给谁呢?Clients——Add Client即可。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

如果你创建的VPS都是一样的显然创建一个通用模板方便一些。Plans——Add KVM Plan,进行相关设置即可。如果你只是创建一个VPS,那么直接到Virtual Servers—— Add Virtual Servers即可。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

创建VPS,这里我们有一个Plan,所以直接选择Plan,分配给谁就好了。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

(7)用户使用

管理员可以在List Virtual Servers里管理所有服务器,点击后面仪表盘的图标即可进行详细的管理,对于VPS的各种调试安装,还有限制网络速度等都可以实现。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

对于用户来说,直接登录前台地址,输入用户名密码即可。

[Oneman IDC]使用SolusVM创建KVM VPS – 初行博客 - 回归初心,记录生活点滴

五、其他

这样我们就完成了创建KVM VPS的基本操作了,对于邮件提醒、更详细的控制策略等都可以在后台设置,慢慢摸索就好啦。

对于对接财务系统的设置官方给出了稳定和插件可以使用,地址:https://docs.solusvm.com/display/DOCS/Modules?src=contextnavpagetreemode

六、总结

SolusVM是一款非常成熟的商业化VPS面板,如果你想创建VPS卖或自己使用等都非常可靠和方便。如果你有不懂的地方或者发现了文章中的各种错误,欢迎通过评论的方式之处,也可以到下方的Telegram群组中讨论。

七、参考资料

本文的编写参考了以下文档:

1.SolusVM官方文档:https://docs.solusvm.com/

2.博客:Senraの小窝 IDC零基础系列——CentOS6安装SolusVM(从系统分区到删库跑路)

3.安装SSL文档:Deploy ssl to SolusVM

4.特别感谢:@Senra@EQBlog两位大佬!!!

→→→可能你需要创建NAT OpenVZ VPS?请参考此篇文章:Leonn的博客 小白教程:使用 SolusVM 开通 NAT VPS

集成VirtIO驱动Windows的ISO下载含序列号

Vultr安装Windows镜像的时候,需要安装文件集成Virtio驱动,本文特整理了下带驱动的Winows下载包,原地址已经无法下载,但是可以通过迅雷,或者直接google搜索对应的文件名找到其它可以下载的镜像,由于这类链接往往是各位大佬私下共享的,所以经常有失效的情况,所以我就不再次更新了。

Windows Server 2003 R2(中文64/32位)

http://dl03.miefen.com/os/cn_win_srv_2003_r2_enterprise_x64_with_sp2_vl_cd_merger_incl_virtio_X13-140502-homemade-by-Jetso.iso
http://dl03.miefen.com/os/cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd_merger_incl_virtio_X13-140502-homemade-by-Jetso.iso

Windows Server 2008 R2(中文64位)

https://dl03.miefen.com/os/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_incl_virtio-140506-homemade-by-Jetso.iso

Windows Server 2012 R2(中文64位)

https://dl01.miefen.com/os/cn_windows_server_2012_r2_x64_dvd_incl_virtio-140505-homemade-by-Jetso.iso

Windows XP(中文/英文-64位)

https://dl03.miefen.com/os/zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_incl_virtio_x14-140508-homemade-by-Jetso.iso
https://dl03.miefen.com/os/en_win_xp_pro_x64_with_sp2_vl_incl_virtio_X13-140502-homemade-by-Jetso.iso

Windows 7(中文32/64位)

https://dl02.miefen.com/os/cn_windows_7_professional_with_sp1_vl_build_x86_dvd_u_incl_virtio-140506-homemade-by-Jetso.iso
https://dl01.miefen.com/os/cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_incl_virtio-140506-homemade-by-Jetso.iso

Windows 8.1/8(中文32/64位)

https://dl02.miefen.com/os/cn_windows_8_1_pro_vl_x86_dvd_incl_virtio-140506-homemade-by-Jetso.iso
https://dl01.miefen.com/os/cn_windows_8_1_pro_vl_x64_dvd_incl_virtio-140506-homemade-by-Jetso.iso
https://dl02.miefen.com/os/cn_windows_8_pro_vl_x86_dvd_incl_virtio-140506-homemade-by-Jetso.iso
https://dl01.miefen.com/os/cn_windows_8_pro_vl_x64_dvd_incl_virtio-140506-homemade-by-Jetso.iso

Windows Server 2003 R2(64-bit)可用序列号:

RYCR6-T7Y6M-2TVHK-C2YW3-7TYQ8
KT3YM-JRM8T-JWV6Q-RQMG9-BBT73
PBJM7-PC3FJ-MDF66-G7FX9-DTH4D
KCHH3-W4FT6-DKRVY-MR9R6-2MDH3

Windows Server 2003 R2(32-bit x86)可用序列号:

FJ8DH-TQPYG-9KFHQ-88CB2-Y7V3Y
GRD4P-FTQQF-JCDM8-4P6JK-PFG7M
JD7JX-KCDTH-7WH4X-DM98R-GD73Y
GM34K-RCRKY-CRY4R-TMCMW-DMDHM

Windows Server 2012 R2 ServerDatacenter(64-bit)可用激活密钥:

YJQK4-VNR69-QGGY4-86FQQ-2WDW8

Windows XP(32-bit x86)可用序列号:

HCQ9D-TVCWX-X9QRG-J4B2Y-GR2TT
F4297-RCWJP-P482C-YY23Y-XH8W3
K2CXT-C6TPX-WCXDP-RMHWT-V4TDT
QHYXK-JCJRX-XXY8Y-2KX2X-CCXGD

hyper-v:IP端口映射命令

国内ip比较紧张,没法给每个虚拟机都分配自己独立的ip地址,但是我们可以通过ip端口映射的方式将通过将外网ip的端口映射给虚拟机使用,下面讲一下中hyper-v:共享IP端口映射一些常用命令
一、查询端口映射情况
netsh interface portproxy show v4tov4
查询这个IP所有的端口映射。
netsh interface portproxy show v4tov4|find “192.168.137.1”
二、增加一个端口映射
netsh interface portproxy add v4tov4 listenport=外网端口 listenaddress=主IP connectaddress=私网IP connectport=私网IP端口
例如:
netsh interface portproxy add v4tov4 listenport=8888 listenaddress=118.123.123.123 connectaddress=192.168.137.10 connectport=3389
三、删除一个端口映射
netsh interface portproxy delete v4tov4 listenaddress=主IP listenport=外网端口
例如:
netsh interface portproxy delete v4tov4  listenaddress=118.123.123.123 listenport=8888

【图文】服务器/VPS DD windows 10系统DD包制作详细教程

一、环境和准备工具

1.1本地环境

windows 10 专业版 64 位(原版系统即可)

开启 Hyper-V https://jingyan.baidu.com/article/15622f24017461fdfdbea554.html (Hyper-V 主要是开启远程,亦可用 VNC 操作)

1.2准备的工具

windows 10 专业版 64 位(原版系统即可)

VirtIO 驱动 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

Dism++请解压所有文件,然后再运行! http://www.chuyu.me/zh-Hans/index.html

gunzip for windows     http://gnuwin32.sourceforge.net/downlinks/gzip-bin-zip.php

 

二、准备镜像和驱动

2.1 提取Windows 10 镜像文件 挂载 windows 10.iso,或解压复制 install.esd/install.wim 到自定位置,待用。

2. 2VirtIO 驱动 挂载或解压缩 VirtIO 驱动, 待用。

 

三、创建VHD 虚拟磁盘

以管理员身份运行命令提示符 cmd,输入

diskpart
CREATE VDISK FILE=”D:win.vhd” TYPE=FIXED MAXIMUM=10240
#不更新的话,32 位 8G,64 位 10G
SELECT VDISK FILE=”D:win.vhd”
ATTACH VDISK
CLEAN
CREATE PARTITION PRIMARY
FORMAT FS=NTFS QUICK
ASSIGN LETTER=V

 

四、DISM添加驱动并优化

4.1释放镜像

文件-释放镜像,如图选择
目标映像:Windows 10 pro
install.esd/install.wim
V:
勾选添加引导,格式化

点击确定 – 更多, 选择 V: 分区,确定。

4.2添加驱动

Dism++切换至目标系统(工具栏下高亮选择)- 打开会话,驱动管理 – 添加驱动 – 选择驱动文件夹,将备好的 VirtIO 添加进去

4.3 优化系统

在“Appx 管理”删除预装,建议保留 photo

在“系统优化”优化界面

4.4 卸载镜像
文件-卸载镜像,关闭 Dism++
资源管理器右键磁盘 V:,弹出

 

五、利用 Hyper-V 开启远程及定制

打开 Hyper-V, 连接到服务器-本地计算机。(操作)- 新建 – 虚拟机 – 指定名称和位置 – 第一代(1)- 内存 – 网络连接(建议不连接防止更新) – 使用现有虚拟硬盘,选择 D:win.vhd – 完成

建议取消检查点,各种占用,报错。
界面右侧,设置 – 检查点,取消勾选启用检查点。(此处可添加 CPU)

右键虚拟机 – 连接- 启动,开启远程,定制程序等等。

六、压制成 DD 包

解压 gunzip,将’bin‘目录中的文件放置’%WINDIR%/SYSTEM32‘文件夹中,即可方便在命令提示符中使用。

d:
gzip.exe -k9 D:win.vhd

等待一会压缩完成,上传使用即可!Vultr 亲测可用

本文转自:https://saodaye.com/zz/480.html

启用HSTS,放弃使用301跳转,使SSL/TLS安全评估达到A+

深夜了,夜猫子又开始瞎折腾捣鼓了…之前一直用的301跳转,这样很容易被劫持。这次折腾的是博客的HSTS…

注意:(确定开启HSTS的三点注意事项!谨记!SSL以及HSTS的到期时间!)

  • HSTS策略只能在HTTPS响应中进行设置,网站必须使用默认的443端口;
  • 所有子域名(*.saodaye.com)只能通过安全连接(https),如果子域名有一个没有配置ssl,那么这个没有配置ssl的域名就无法访问了;
  • 如果saodaye.com服务器发送的TLS证书无效,用户不能忽略浏览器警告继续访问该网站。(意味着在HSTS失效前SSL不能失效,如果SSL在HSTS之前失效了,浏览器就会警告用户,而且无法忽略警告继续访问)

我们先了解一下HSTS是什么鬼~

HSTS是国际互联网工程组织 IETE 正在推行一种新的 Web安全协议HTTP Strict Transport Security(HSTS)。

采用 HSTS 协议的网站将保证浏览器始终连接到该网站的 HTTPS 加密版本,不需要用户手动在 URL 地址栏中输入加密地址。也就是打开网站会直接跳转到https加密的链接,减少会话劫持风险。

简单来说

网站全站HTTPS后,如果用户手动敲入网站的HTTP地址,或者从其它地方点击了网站的HTTP链接,通常依赖于服务端301/302跳转才能使用HTTPS服务。

而第一次的HTTP请求就有可能被劫持,导致请求无法到达服务器,从而构成HTTPS降级劫持。这个问题就可以通过HSTS(HTTP Strict Transport Security,RFC6797)来解决。

开始配置之前先检测一下,是否达到A+,如果无法达到A+,请自觉配置HSTS以减少可能被劫持的风险

emmm  现在是评级是A,暂时没达到A+,而且提示你需要开启HSTS才能提升到A+,那就动手开始配置~

  • max-age,单位是秒,用来告诉浏览器在指定时间内,这个网站必须通过HTTPS协议来访问。也就是对于这个网站的HTTP地址,浏览器需要先在本地替换为HTTPS之后再发送请求。
  • includeSubDomains,可选参数,如果指定这个参数,表明这个网站所有子域名也必须通过HTTPS协议来访问。
  • preload,可选参数,一个浏览器内置的使用HTTPS的域名列表。

Apache 配置 HSTS

编辑你的 apache 配置文件(如 /etc/apache2/sites-enabled/website.conf 和 /etc/apache2/httpd.conf ),并加下面的内容到你的 HTTPS VirtualHost:

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

然后重启Apche

Nginx 配置 HSTS

编辑Nginx配置文件就可以了,找到安装Nginx下的Nginx.conf文件

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

然后重启Nginx

宝塔(BT.CN)的配置方法

网站→站点设置→配置文件
(我使用的是nginx,直接插入nginx的代码就可以了,如果是Apche则插入Apche的代码)

SSL/TLS的服务检测评分

官网:https://www.ssllabs.com/

中文版:https://myssl.com

演示:https://myssl.com/saodaye.com?status=success

服务器检测是否配置了HSTS(记得改成你自己的域名),只要输入下面的代码,出现标记红框的内容就没问题了,配置就OK了

curl -I https://saodaye.com

本文转自:https://saodaye.com/zz/859.html

Linux VPS使用Webbench/Apache-ab进行网站压力测试

简介

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。

Apache abApache Bench性能测试工具,这是apache免费自带的性能测试工具,就在apachebin目录下,它能模拟多个并发请求,也就是说它主要是用来测试你的网站每秒能处理多少请求的。

 原文转自:https://www.moerats.com/archives/606/

安装

如果是测试https的话,使用Apache-ab就可以了。

1、安装Webbench

#Debian/Ubuntu系统
apt-get install gcc make ctags -y
#Centos系统
yum install gcc make ctags -y

#安装Webbench
wget https://www.moerats.com/usr/down/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz && cd webbench-1.5
make && make install

2、安装Apache

#Centos系统
yum install apache2 -y
#Debian/Ubuntu系统
apt-get install apache2 -y

使用

1、Webbench

#使用帮助
webbench -h
#测试命令,-c为并发数;-t为测试时长,单位秒;后面为链接
webbench -c 1000 -t 50 http://www.baidu.com

2、Apache

#使用帮助
ab -h
#测试1,-n为发送请求次数;-c并发数;后面为链接
ab -n 500 -c 400 http://www.baidu.com
#测试2,-t为测试时长,单位秒;-c并发数;后面为链接
ab -t 90 -c 50 http://www.baidu.com

总结

WebbenchApache-ab的测试效果都还可以,只是Webbench不支持https网站,AB倒是可以,不过AB的并发数不能过大,好像需要改配置文件,默认最大1024,如果是用来CC攻击或者网站压力测试,建议找下载文件或者动态图片来试,尽量别做坏事。

Python 3.6一键安装脚本 for CentOS/Debian

本文转载自:https://www.moerats.com/archives/507/

说明:最近一直在玩爬虫,需要使用到python3pip3,手动安装又有点麻烦,就搞了个一键脚本,Python版本为3.6.4,脚本安装了很多依赖包,不会因为缺少依赖而出问题,这里就分享下。

安装

1、检查下系统是否有Python3

python3 -V

2、安装Python3

#CentOS系统
wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh

备用地址

#CentOS系统
wget http://d.12u.net/Shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget http://d.12u.net/Shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh

然后再输入python3 -V看是否安装成功。一般安装成功就可以使用python3pip3了。

 提示

如果想修改系统默认的Python版本的话,还需要创建软链接,可使用命令:

cd /usr/bin
mv python python.backup
ln -s /usr/local/bin/python3 /usr/bin/python

然后重启运行python -V查看即可。

一般CenOS系统修改后会出现yum用不了的情况,这时候需要编辑yum的配置文件,方法如下:

vi /usr/bin/yum
将文件首行
#!usr/bin/python
修改为python之前的版本,如:
#!/usr/bin/python2.7

Linux VPS使用Caddy快速搭建文件分享平台

Linux VPS使用Caddy快速搭建文件分享平台,这里用的是逗比的脚本。

使用命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && bash caddy_install.sh uninstall
#备用地址
wget -N --no-check-certificate http://d.12u.net/shell/Caddy/caddy_install.sh && bash caddy_install.sh uninstall

创建IP访问,使用命令:

#以下一整条命令,直接复制即可,80为端口,可以随便修改,且/chinavps为要分享的文件目录
echo ":80 {
 root /chinavps
 gzip
 browse
}" > /usr/local/caddy/Caddyfile

然后我们可以打开http://IP:端口进入界面了。

如果打不开,重新启动下Caddy即可。

/etc/init.d/caddy start

service caddy restart

本文参考:https://www.moerats.com/archives/533/

利用Caddy扩展快速安装FileManager私人网盘/在线文件管理器

说明:

本文转载自:https://www.moerats.com/archives/403/

关于FileManager安装方法之前说过,参考:一个基于GO的轻量级文件管理系统:FileManager安装教程,不过对于小白来说,还是有点麻烦,刚刚看到逗比那里也有个安装方法,很方便。

 截图

请输入图片描述

Caddy FileManager扩展介绍

FileManager是基于Caddy的扩展。它提供文件管理界面,可用于上传/下载/删除/预览和重命名等该目录中的文件。

  • 支持 上传文件
  • 支持 按类型 搜索文件
  • 支持 批量压缩 文件下载
  • 支持 多用户管理(权限可控)
  • 支持 在网页执行 Linux命令
  • 支持 创建 共享链接(限时/永久)
  • 支持 在线编辑 各类文本文件
  • 支持 在线浏览 图片/文本/视频等
  • 支持 新建/重命名/移动/删除 文件和文件夹等
  • 部署简单,几步完成,无需任何依赖环境
  • 等等 …

安装Caddy

Caddy文档:https://caddyserver.com/docs/http.filemanager
Github项目:https://github.com/hacdias/filemanager

运行以下命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

安装成功后,继续新建一个用于使用的虚拟主机文件夹,例如file(可以自己改):

mkdir /usr/local/caddy/www && mkdir /usr/local/caddy/www/file

配置

1、IP访问
绑定虚拟主机为IP(即通过IP访问),HTTP协议(80端口)。

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo ":80 {
 root /usr/local/caddy/www/file
 timeouts none
 gzip
 filemanager / /usr/local/caddy/www/file {
  database /usr/local/caddy/filemanager.db
 }
}" > /usr/local/caddy/Caddyfile

2、域名HTTP访问
本示例是,绑定虚拟主机为域名(即通过域名访问),HTTP协议(80端口)。

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "http://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 gzip
 filemanager / /usr/local/caddy/www/file {
  database /usr/local/caddy/filemanager.db
 }
}" > /usr/local/caddy/Caddyfile

3、域名HTTPS访问
本示例是,绑定虚拟主机为域名(即通过域名访问),HTTPS协议(443端口)。

如果你有SSL证书和密匙的话,把SSL证书(xxx.crt)和密匙(xxx.key)文件放到/root文件夹下(也可以是其他文件夹,自己改下面代码),然后这样做:

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "https://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 tls /root/xxx.crt /root/xxx.key
 gzip
 filemanager / /usr/local/caddy/www/file {
  database /usr/local/caddy/filemanager.db
 }
}" > /usr/local/caddy/Caddyfile

如果你没有SSL证书和密匙,那么你可以这样做:

下面的xxxx@xxx.xx改成你的邮箱,同时需要注意的是,申请SSL证书前,请务必提前解析好域名记录(解析后最好等一会,以全球生效),否则Caddy会申请并配置失败!

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "https://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 tls xxxx@xxx.xx
 gzip
 filemanager / /usr/local/caddy/www/file {
  database /usr/local/caddy/filemanager.db
 }
}" > /usr/local/caddy/Caddyfile

4、域名HTTP重定向HTTPS
本示例是,域名HTTP重定向为HTTPS

当你是手动指定SSL证书和密匙 来配置的话,Caddy只会监听443端口(https),并不会自动设置80端口(http)的重定向,如果要做重定向的话,可以这样做:

下面的示例代码中,是把http://moerats.com重定向到了https://moerats.com

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行(注意替换示例域名)!
echo "http://moerats.com {
 timeouts none
 redir https://moerats.com{url}
}
https://moerats.com {
 root /usr/local/caddy/www/file
 timeouts none
 tls /root/xxx.crt /root/xxx.key
 gzip
 filemanager / /usr/local/caddy/www/file {
  database /usr/local/caddy/filemanager.db
 }
}" > /usr/local/caddy/Caddyfile

当你已经配置完上面步骤后,那就需要启动Caddy了。

/etc/init.d/caddy start
# 如果启动失败可以看Caddy日志: tail -f /tmp/caddy.log

最后就可以通过ip访问filemanager了,用户名和密码均为admin

更多配置方法请参考原文:https://doub.io/jzzy-3/