什么是https

以下内容出自百度百科:
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

注意:

  • 本文配置环境为:Linux Centos6、nginx1.14.0
  • 本文只介绍Let's Encrypt免费证书,其他证书请自动行百度。

Let’s Encrypt 及 Certbot 简介

Let’s Encrypt 是 一个叫 ISRG ( Internet Security Research Group ,互联网安全研究小组)的组织推出的免费安全证书计划。参与这个计划的组织和公司可以说是互联网顶顶重要的先驱,除了前文提到的三个牛气哄哄的发起单位外,后来又有思科(全球网络设备制造商执牛耳者)、 Akamai 加入,甚至连 Linux 基金会也加入了合作,这些大牌组织的加入保证了这个项目的可信度和可持续性。

  • Certbot 使用方法
    Certbot 的官方网站是 https://certbot.eff.org/ ,打开这个链接选择自己使用的 web server 和操作系统,EFF 官方会给出详细的使用方法,如下图

6aedb651gy1fhckotqlhhj20t10jsgmq.jpg

开始安装HTTPS

  • 获取certbot客户端
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
  • 停止nginx
service nginx stop
  • 生成证书
./certbot-auto certonly --standalone --email '你的邮箱地址' -d '你的域名地址'
// 当前网站有多个域名时需在后面增加,例如
./certbot-auto certonly --standalone --email '你的邮箱地址' -d '你的域名1' -d '你的域名2'
  • 查看生产的证书
tree /etc/letsencrypt/live/
  • 将证书用于nginx,修改Nginx配置
# TLS 基本设置
ssl_certificate /etc/letsencrypt/live/www.just4fun.site/fullchain.pem;#证书位置
ssl_certificate_key /etc/letsencrypt/live/www.just4fun.site/privkey.pem;# 证书位置
  • 启动Nginx
service nginx start
  • 证书续签

Let’s Encrypt 生成的免费证书为3个月时间,但是我们可以无限次续签证书

./certbot-auto renew 

作者:安小下
链接:https://www.jianshu.com/p/fb3733cd0d3b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最的接了一个项目,需要在微信端连续播放三个mp3文件,因为IOS系统限制不能实现自动播放,所以只能在服务端对mp3进行拼接,所有用到了ffmpeg命令。
注意:我用的是Linux系统,用到了php的exec函数来执行命令行命令

  • Linux拼接三个mp3文件代码如下:
ffmpeg -i audio1.mp3 -i audio2.mp3 -i audio3.mp3 -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]' -map [a] output.mp3
  • PHP拼接三个mp3代码如下:
$str = "ffmpeg -i {$audio1} -i {$audio2} -i {$audio3} -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]' -map [a] {$output}"
exec($str);

TCPDF是一款PHP脚本编写的导出PDF的开源程序,其特点是有自己的单元格方式排版,也可以用html转PDF,但这种方式有很多样式不支持。还是推荐用其自己的排版方式来。
下面是用过的一些方法注释,以便日后查看:

安装

推荐使用composer安装,在composer官网列表中有其安装方法

TCPDF构造方法

public function __construct($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false, $pdfa=false)
参数说明:

  • $orientation:纸张方向,P竖向,L横向
  • $unit:单位,默认毫米
  • $format:纸张大小
  • $unicode:Unicode文本输入,默认true
  • $encoding:文本编码,默认utf-8
  • $diskcache:说实话,这个我也没用过,就用默认值吧
  • $pdfa:是否开启PDF/A模式,这个我也没用过

例:$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);

设置字体

public function SetFont($family, $style='', $size=null, $fontfile='', $subset='default', $out=true)
参数说明:

  • $family:字体名称,例:DroidSansFallback
  • $style:字体样式,默认为空串,其他选项有B-加粗,I-倾斜,U-下划线,D-中划线,O-上划线
  • $size:尺寸,默认12
  • $fontfile:字体文件,这个我也没怎么用过。。。
  • $subset:没用过T_T

vim是一款很流行的linux编辑器,其有丰富的快捷键和自由的配置,一个好的配置文件,可以让你更好的用vim来装13 ^_^
使用过程中如碰到疑问,可以加我微信:wen_19890904
先上效果图:
微信图片_20180604213438.png
如下是我常用的VIM配置:

""""""""""""""""""""""""""""""
" 文本格式和排版
""""""""""""""""""""""""""""""
" 继承前一行的缩进方式
set autoindent

" 设置制表符宽度为4
set tabstop=4

" 统一缩进为4
set shiftwidth=4
" set softtabstop=4

" 使用空格代替制表符
set expandtab

""""""""""""""""""""""""""""""
" 一般设定
""""""""""""""""""""""""""""""
" 设置默认编码
set fenc=utf-8
set fencs=utf-8,gb2312,gbk

" 不要使用vi的键盘模式,而是vim自己的
set nocompatible

" history文件中需要记录的行数
set history=10000

" 在处理未保存或只读文件时候,弹出提示
set confirm

" 语法高亮
syntax on

" 显示行数
set nu

" 高亮显示当前行
set cursorline
hi CursorLine cterm=NONE ctermbg=black ctermfg=green guibg=NONE guifg=NONE

" 显示标签栏
set showtabline=2

" 显示不同的底色色调
" set bg=dark

" 支持退格删除文字
set backspace=indent,eol,start

""""""""""""""""""""""""""""""
" 文件设置
""""""""""""""""""""""""""""""
" 不要生成备份文件
set nobackup

" 在状态上显示当前所在的行数和列数
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

" 搜索的时候忽略大小写
set ignorecase

" 设置编码
set encoding=utf-8

""""""""""""""""""""""""""""""""""""""""
" 设置NerdTree插件
" 插件下载地址:https://share.weiyun.com/5ZcstFV
" 此插件下载后,放到vim配置目录的plugin目录下
" 安装成功后,F3键为打开/关闭目录树
""""""""""""""""""""""""""""""""""""""""
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>

协议详解

  • Access-Control-Allow-Origin

允许跨域访问

应用实例

ajax跨域PHP处理方法

  • 加如下header头文件即可

    • header('Access-Control-Allow-Origin: 来源地址');
    • header('Access-Control-Allow-Credentials: true');
    • header('Access-Control-Allow-Methods: GET');