Nginx上安装阿里云免费证书

最近几天捣鼓了下个人网站,想着给自己的网站也整个https,所以就有了这篇文章,以下是我的阿里云服务器Nginx下安装阿里免费证书的一些操作:1、购买免费证书2、 Centos8 上安装Nginx3、Nginx上配置ssl

(1)、登录阿里云控制台,搜索SSL,找到SSL证书(应用安全),注意阿里控制台可能样式上会有些改动,但基本的一些功能大致没怎么变化。

1

(2)、进入SSL证书(应用安全),点击购买证书,选择单个域名,接着的步骤如下图所示:

1

1

(3)、购买成功后可在控制台看到,如下,接着我们点击待申请下拉框,点击立即申请,填写相关信息后,大概一分钟左右就可以看到状态变为已签发。接着点击下载选择Nginx下的下载选项(因为本文是以Nginx为示例)

1

接下来就是Nginx的安装,准备好了吗?
2、Centos8下安装Nginx(1)首先安装必要的库(编译需要的gcc、nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库)
安装gccgcc是Linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言。安装命令:yum -y install gcc
安装zlibzlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip安装命令:yum install -y zlib zlib-devel
安装pcre 库pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。安装命令:yum install -y pcre pcre-devel
安装opensslopenssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔安装命令:yum install -y openssl openssl-devel
(2)安装Nginx下载Nginx安装包:wget http://nginx.org/download/nginx-1.17.6.tar.gz
解压:tar -zxvf nginx-1.17.6.tar.gz
进入到解压的目录中:cd nginx-1.17.6/
执行安装一般就这三步骤:1、./configure 2、make 3、make install在这里我执行的是以下命令:(其中的–prefix=/usr/local/nginx 是将nginx的安装目录设置为/usr/local/nginx)

1
2
3
4
5
./configure > --prefix=/usr/local/nginx > --pid-path=/var/run/nginx/nginx.pid > --lock-path=/var/lock/nginx.lock > --error-log-path=/var/log/nginx/error.log > --http-log-path=/var/log/nginx/access.log > --with-http_gzip_static_module > --http-client-body-temp-path=/var/temp/nginx/client > --http-proxy-temp-path=/var/temp/nginx/proxy > --http-fastcgi-temp-path=/var/temp/nginx/fastcgi > --http-uwsgi-temp-path=/var/temp/nginx/uwsgi > --http-scgi-temp-path=/var/temp/nginx/scgi \--with-http_stub_status_module \--with-http_ssl_module \--with-file-aio \--with-http_realip_module

make

make install

接下来启动 nginx 服务:进入到安装目录下的sbin:cd /usr/local/nginx/sbin启动:./nginx
用以下命令查看服务是否启动成功:ps -ef | grep nginx如下所示则表示启动成功

1

注:有时候你可能会遇到nginx命令不存在的提示。则需要去配置环境:vim /etc/profile在下面中添加:PATH=$PATH:/usr/local/nginx/sbin (不难理解,就相当于windows下添加path环境变量一样)

1

接下来在你的电脑上访问服务器ip地址,出现Nginx欢迎页面则表示成功访问

3、Nginx配置https证书还记得第一步中下载的证书吗,这里我将它们上传至conf中的ssl目录下a、首先我们在nginx的安装目录下的/usr/local/nginx/conf下创建ssl目录(mkdir ssl)b、用ftp将证书文件上传至到ssl下c、备份nginx.conf (命令:cp nginx.conf nginx.conf.cp)d、编辑nginx文件,这里的nginx配置文件我是分为了多个,所以我在conf目录下又新建了vhost目录然后在vhost目录下创建了 fahsa.cn.conf文件,步骤如下:mkdir vhostcd vhosttouch fahsa.cn.conf #创建文件e、fahsa.cn.conf中的内容如下:这里需要注意下空格问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
listen 443 ssl;
server_name fahsa.cn;


ssl_certificate /usr/local/nginx/conf/ssl/4955350_www.fahsa.cn.pem;
ssl_certificate_key /usr/local/nginx/conf/ssl/4955350_www.fahsa.cn.key;

ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;


location / {
root /data/www/blog/public; #此处不要忘记替换成你的网站目录
index index.html index.htm;
}
}

f、接下来修改nginx.conf文件,有几处是需要修改的:添加重定向:return 301 https://$host$request_uri;文件倒数第一个大括号前添加包含文件:include /usr/local/nginx/conf/vhost/*.conf;示例如下:

1

1

好了,接下来访问网站此处看到一个小锁,说明证书安装成功了。

1

总结:首先你得知道总体的步骤是怎么样的,一步步下来也许你会遇到各种各样的问题,就比我这边因为是升级到了Centos8,之前安装的nginx是1.4版本的,配置ssl时出现了各种各样的问题,换成1.7版本后问题才得以解决,此处就不记录了。凡事都抵不过用心。

Nginx上安装阿里云免费证书

http://fahsa.cn/web/20201222-web-article/

作者

Fahsa

发布于

2020-12-22

更新于

2020-12-25

许可协议

评论