您的位置:首页 > 理论基础 > 计算机网络

Nginx配置SSL证书(申请免费SSL证书)怎样给网站的"http"加上"s",即网站可以通过"https"访问?

2019-04-27 12:32 841 查看

Nginx配置SSL证书(申请免费SSL证书)怎样给网站的"http"加上"s",即网站可以通过"https"访问?

当然,首先得有一个已经购买的域名!

我现在以阿里云为例,进行配置!

申请SSL免费证书

首先进入阿里云的`管理控制台------>域名------>点击进入域名解析列表(请看下图);

然后点击更多的SSL证书(请看下图)

然后点击右侧的免费版SSL证书(请看下图);

需要再次点击申请------>点击验证;

申请之后,需要等待一会,很快就会通过,请耐心等待;

然后返回证书列表------>点击下载;

下载之后,解压压缩包会得到两个文件,一个是.key,一个是.pem(请看下图);

然后需要到你的服务器开放443端口,这里我以阿里云的ECS服务器为例;

点击安全组------>点击配置规则;

然后点击添加安全组规则------>点击自定义TCP------>选择HTTPS(443);


1. 然后在Nginx安装目录下创建cert目录,并将下载的证书文件和密钥文件拷贝到cert目录中。

2. 打开Nginx安装目录 > conf文件夹 > nginx.conf 文件,在 nginx.conf 文件中找到以下属性:

# HTTPS server
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {

3. 修改 nginx.conf 文件如下:

以下属性中以 ssl 开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。

server {
listen 443;
server_name localhost;  # localhost修改为您证书绑定的域名。
ssl on;   #设置为on启用SSL功能。
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;   #添加属性。
}
}

4. (可选步骤)设置http请求强制跳转https,支持使用http协议进行范文。修改 nginx.conf 文件如下:

server {
listen 80;
server_name localhost;  #使用您证书绑定的域名替换localhost。
return    301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name localhost;  #使用您证书绑定的域名替换localhost。
}

5. 保存 nginx.conf 文件后退出。

6. 重启 Nginx 服务器。

也可以参阅官方配置文档: 在Nginx/Tengine服务器上安装证书 https://help.aliyun.com/document_detail/98728.html

官方配置文档很详细,可以自己进行配置!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐