为网站添加SSL证书并配置HTTP2(二)

个人博客:https://xiaofengsir.com/,关注更新文章

一. 为网站配置http2.0协议

说明:为网站添加SSL证书并配置HTTP2(一)中,已经安装好了SSL证书,并且配置了301重定向。现在可以开始配置http2.0协议了,关于什么是http2.0协议,以及和http1.1的区别这里不多说了,自行百度吧。

1. 查看网站协议

打开浏览器,将审查元素打开,点击Network选项卡,将Protocol调出来,查看传输协议。目前显示的为http/1.1,传输协议。


2. 查看Nginx版本,查看OpenSSL版本

目前显示的版本是nginx/1.10.2OpenSSL 1.0.1e-fips,因为之前安装Nginx时,使用的时系统默认的源,然而Centos7自带的Nginx版本并不够新,想要支持使用http2.0协议,OpenSS必须升级到2.0版本以上才可以。因此要对Nginx重新编译。
<br />


3. 编译安装Nginx和openssl

说明:编译Nginx步骤较多,如果出现问题,评论区留言吧。

1.安装编译过程中需要使用的工具

 yum install wget curl perl gcc pcre-devel zlib-devel make -y

代码说明:
wget: 常用的命令可以自动下载文件的工具,支持通过HTTP、HTTPS、FTP等常见的TCP/IP协议下载,并可以使用HTTP代理。
curl: 利用URL语法在命令行方式下工作的开源文件传输工具。和wget类似但有不同。
perl: 为服务器安装perl环境。
gcc: 为服务器安装gcc环境。
pcre-devel: perl的一个库,用来处理正则表达式。
zlib-devel: 为服务器安装zlib库。
make: linux中常用的编译安装命令。


2.下载Nginx源和openssl源

//下载openssl新版的源和Nginx新版源
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz http://nginx.org/download/nginx-1.11.10.tar.gz
//解压两个压缩包
tar zxvf nginx-1.11.10.tar.gz
tar zxvf openssl-1.0.2l.tar.gz
//重命名nginx和openssl
mv nginx-1.11.10/ nginx
mv openssl-1.0.2l/ openssl

3.编译nginx

1)首先卸载原先版本的额nginx

//卸载已安装的nginx版本
yum remove nginx -y

2)配置编译nginx

//进入nginx和openssl所在目录。
cd ~
//将nginx和openssl移动到/usr/local/src文件夹
mv nginx/ openssl/ /usr/local/src/
//进入/etc/local/src/nginx目录下
cd /usr/local/src/nginx
//配置nginx
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid  --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp  --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-stream_realip_module --with-openssl=/usr/local/src/openssl
//使用make命令编译一下,时间较长
make
//编译完成后执行下make insatll
make install
//为新编译的nginx添加用户,创建配置目录
useradd nginx && mkdir /etc/nginx/conf.d
//创建nginx缓存目录,并设置一些权限
mkdir /var/cache/nginx && chown nginx:root /var/cache/nginx
//删除用不着的文件
rm -rf /usr/local/src/nginx && rm -rf /usr/local/src/openssl && rm -rf /var/cache/yum

3)继续配置nginx,并启动它

//配置nginx服务文件
vim /usr/lib/systemd/system/nginx.service

//为nginx.service添加配置代码
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

[Install]
WantedBy=multi-user.target

//启动下nginx,再设置开机启动
systemctl start nginx
systemctl enable nginx
systemctl status nginx

4)编辑nginx.conf文件

//进入nginx目录
cd /etc/nginx/
//为nginx.conf添加代码
vim nginx.conf
//在nginx.conf中的gzip on代码下面一行添加如下代码
include /etc/nginx/conf.d/*.conf;
//重启nginx
systemctl restart nginx

4.配置http2.0协议

//进入网站的nginx配置文件所在目录
cd /etc/nginx/
//编辑ssl.域名.conf文件
vim ssl.域名.conf
//在第一行listen配置项中添加 ssl http2
server {
    listen 443 ssl http2;
    .....见第一篇中的.conf配置文件
//重启nginx
systemctl restart nginx

5. 测试

至此,http2.0协议配置完成,打开浏览器查看传输协议。

可以看到,传输协议为h2,配置成功。


总结:配置过程比较繁琐,测试过程中可能会出现一些问题,可以在评论区留言。总的来说,主要就是涉及nginx本身以及nginx的配置文件的编译,编辑等等...留心一点安装两篇课程一步一步来,时可以完成全部安装过程的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341

推荐阅读更多精彩内容