nginx配置SSL证书获取https访问(阿里云)
1、域名解析到服务器
在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名待解决,点击“解决”,进入解决页面。最后,选择【添加分析】按钮,会出现如下页面:
此处为主机记录选择@。记录值为服务器的IP地址。确认。
![]()
二、申请CA证书
在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全)购买证书,
![]()
选择‘免费版’DV SSL”,点击立即购买:
![]()
然后点击支付:
![]()
最终确认付款:
![]()
返回管理界面:
![]()
点击“完成”,输入需要解析的域名然后点击下一步:
注意:由于我们这里申请的是免费开发版证书,所以一张证书只支持一个域名认证,不支持通配符。
![]()
等待几分钟,证书状态变为“
三、下载证书
在列表中找到已颁发的证书,下载:
![]()
进入下载页面,在ngin选项卡中找到nginx配置信息,“下载” Certificate for Nginx》:
![]()
包含以下内容,方便后面配置nginx:
![]()
下载的文件有两个:
1、214292799730473.pem
2、
四、服务器安装、配置nginx
登录服务器:
$ apt-get update // 更新软件
$ apt-get install nginx // 安装nginx5. 配置ca证书
1。 nginx的安装目录为:/etc/nginx/。转到该文件夹,添加 cert/ 文件夹并将刚刚下载的两个文件上传到 cert/ 文件夹。
2。在 /etc/nginx/sites-enabled/ 下添加文件。内容如下:
说明:以下配置旨在监控端口 443 和端口 80。 443端口必须开启SSL。监听443端口的服务器配置可以通过上面ca认证页面的nginx配置示例进行配置。
根节点作者创建了一个文件夹/来专门存放来自该域名的请求,以进行区分。在
/文件夹中添加一个文件,里面只写一行
welcome。
server {
listen 443;
server_name ; // 你的域名
ssl on;
root /var/www/; // 前台文件存放文件夹,可改成别的
index index.htm;// 上面配置的文件夹里面的
ssl_certificate cert/214292799730473.pem;// 改成你的证书的名字
ssl_certificate_key cert/;// 你的证书的名字
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.htm;
}
}
server {
listen 80;
server_name ;// 你的域名
rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名请求转成https
}
配置完成后,检查nginx配置文件是否可用。成功就意味着可用。
$ nginx -t // 检查nginx配置文件配置正确后,重新加载配置文件,使配置生效:
$ nginx -s reload // 使配置生效至此,nginx的https访问完成,所有http请求都通过rewrite转换为https请求,更加安全。
如果需要重启nginx,使用以下命令:
$ service nginx stop // 停止
$ service nginx start // 启动
$ service nginx restart // 重启六、访问效果
输入http:,会自动跳转到https页面。
注意:如果是阿里云ECS之类的云服务器,需要先到阿里云ECS管理后端的安全组修改端口过滤规则,开放80和443端口才可以访问。
![]()
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网