阿里云 nginx配置ssl证书实现https访问

转自:https://www.cnblogs.com/onetwo/p/10369644.html

一,环境说明
服务器系统:ubuntu16.04LTS

服务器IP地址:47.89.12.99

域名:bjubi.com

二,域名解析到服务器
在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解析页面后选择【添加解析】按钮会弹出如下页面:
在这里插入图片描述
主机记录这里选择@,记录值就是服务器ip地址,确认。

三,申请ca证书
在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书,
在这里插入图片描述

选择“免费版DV SSL”,点击立即购买:
在这里插入图片描述

然后点去支付就会回到管理界面:
在这里插入图片描述

点击“补全”,输入要解析的域名,点下一步:
在这里插入图片描述
说明:因为我们这里申请的是开发版免费证书,所以一个证书仅支持一个域名认证,不支持通配符。
等待几分钟,证书状态变为“已签发”后,证书就申请成功了。

四,下载证书
列表中找到已签发的证书,下载:
在这里插入图片描述
进入下载页面,找到ngin页签中nginx配置信息,并“下载证书 for Nginx”:
在这里插入图片描述
记录以下内容,为了一会儿配置nginx用:

# 以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name localhost;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key;   #将domain name.key替换成您证书的密钥文件名。
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 / {
root html;   #站点目录。
index index.html index.htm;   
}
}      

下载的文件有两个:

1,214292799730473.pem

2,214292799730473.key

五,服务器安装,配置nginx
登录到服务器:

$ apt-get update // 更新软件
$ apt-get install nginx // 安装nginx

六,配置ca证书
1,nginx的安装目录为:/etc/nginx/。进入目录,增加cert/文件夹,把刚刚下载的两个文件上传到cert/文件夹中。

2,在/etc/nginx/sites-enabled/下,增加bjubi.com文件。内容如下:

server {
    listen 443;
    server_name bjubi.com; // 你的域名
    ssl on;
    root /var/www/bjubi.com; // 前台文件存放文件夹,可改成别的
    index index.html index.htm;// 上面配置的文件夹里面的index.html
    ssl_certificate  cert/214292799730473.pem;// 改成你的证书的名字
    ssl_certificate_key cert/214292799730473.key;// 你的证书的名字
    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.html index.htm;
    }
}
server {
    listen 80;
    server_name bjubi.com;// 你的域名
    rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名请求转成https
}

说明:下面的配置是对443端口和80端口进行监听,443端口要启用ssl。监听443端口的server配置可以仿照上面ca认证页面的nginx配置示例进行配置。

root节点笔者创建了一个bjubi.com/的文件夹,专门存放来自这个域名的请求以示区分。

bjubi.com/文件夹下增加一个index.html文件,里面仅仅写了一行

welcome。

配置完成后,检查一下nginx配置文件是否可用,有successful表示可用。

$ nginx -t // 检查nginx配置文件

配置正确后,重新加载配置文件使配置生效:

$ nginx -s reload // 使配置生效

至此,nginx的https访问就完成了,并且通过rewrite方式把所有http请求也转成了https请求,更加安全。

如需重启nginx,用以下命令:

$ service nginx stop // 停止
$ service nginx start // 启动
$ service nginx restart // 重启

七,访问效果
输入http:bjubi.com也会自动跳转至https页面。

说明:如果是云服务器比如阿里云ECS,需要到阿里云ECS的管理后台的安全组,修改端口过滤规则把80端口和443端口开放才能访问到。
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nginx配置阿里云SSL证书,你可以按照以下步骤进行操作: 1. 在阿里云SSL证书控制台购买并申请你的证书。确保你选择了与你的域名匹配的证书类型(如单域名、通配符或多域名)。 2. 下载SSL证书文件,通常包括以下几个文件:证书文件(以.crt为后缀)、私钥文件(以.key为后缀)和CA证书链文件(以.ca-bundle为后缀)。 3. 将证书文件、私钥文件和CA证书链文件上传到服务器的某个目录。可以选择将它们放在/etc/nginx/ssl/目录下。 4. 打开Nginx配置文件。通常,主配置文件位于/etc/nginx/nginx.conf,而站点配置文件位于/etc/nginx/conf.d/目录下。 5. 在站点配置文件中找到对应的server块,它定义了你要使用SSL的域名和端口。如果没有该块,则需要创建一个。 6. 在server块内部,添加以下配置项来启用SSL,并指定SSL证书和私钥的路径: ``` server { listen 443 ssl; server_name your_domain.com; ssl_certificate /etc/nginx/ssl/your_certificate.crt; ssl_certificate_key /etc/nginx/ssl/your_private_key.key; ssl_trusted_certificate /etc/nginx/ssl/your_ca_bundle.ca-bundle; # 其他相关配置项... } ``` 确保将`your_domain.com`替换为你的域名,并将文件路径替换为你上传证书文件的实际路径。 7. 保存并关闭配置文件。 8. 检查Nginx配置是否正确:使用`nginx -t`命令检查配置文件语法是否有误。 9. 如果检查通过,重新加载Nginx配置:使用`nginx -s reload`命令重新加载配置文件。 现在,你的Nginx服务器应该已经成功配置阿里云SSL证书。请确保你的域名解析已经正确指向你的服务器IP,并且防火墙允许443端口的访问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值