nginx 中配置ssl证书

本文档介绍了如何在阿里云申请免费DV SSL证书,并详细阐述了从下载证书到在Nginx服务器上配置SSL的过程,包括证书上传、编辑nginx.conf配置及服务器重启等步骤。

前两天公司要注册一个抖音官网需要https的于是乎就有了这篇文章

 

1.在阿里云中申请免费型DV SSL

 2.购买待申请后下载

在证书控制台下载Nginx版本证书。下载到本地的压缩文件包解压后包含:

  • .crt文件:是证书文件,crt是pem文件的扩展名。
  • .key文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)。

3.下载后用ftp上传至服务器/usr/local/nginx/cert

如果没有cert自己创建

4.打开Nginx安装目录 > conf文件夹 > nginx.conf文件,在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;   #添加属性。
}
}
						

如果你只想用https的话就301重定向

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

5.wq保存文件后退出

6.lnmp restart 重启服务器

 

### 配置 SSL 证书以启用 HTTPS 在 Nginx配置 SSL 证书以启用 HTTPS 是一个常见的需求,尤其是在需要保证网站数据传输安全的场景下。以下是详细的配置步骤和相关说明。 #### 1. 获取 SSL 证书 在开始配置之前,需要获取 SSL 证书SSL 证书通常由证书颁发机构(CA)签发,可以通过以下方式获取: - 从商业证书颁发机构(如 Let's Encrypt、DigiCert 等)申请。 - 生成自签名证书(仅适用于测试环境)。 获取到的证书通常包括两个文件:证书文件(`.crt`)和私钥文件(`.key`)。例如,`1_www.imoocdsp.com_bundle.crt` 和 `2_www.imoocdsp.com.key` [^2]。 #### 2. 配置 Nginx 以启用 HTTPS 将 SSL 证书文件和私钥文件放置在 Nginx配置目录中,通常为 `/etc/nginx/ssl/` 或 `/usr/local/nginx/conf/ssl/`。接下来,修改 Nginx配置文件(通常是 `/etc/nginx/nginx.conf` 或 `/usr/local/nginx/conf/nginx.conf`),添加或修改 `server` 块以启用 HTTPS。 以下是一个基本的 HTTPS 配置示例: ```nginx server { listen 443 ssl; server_name example.com; # 启用 SSL ssl on; # 指定 SSL 证书和私钥路径 ssl_certificate /etc/nginx/ssl/1_www.imoocdsp.com_bundle.crt; ssl_certificate_key /etc/nginx/ssl/2_www.imoocdsp.com.key; # 配置 SSL 会话缓存和超时时间 ssl_session_cache shared:SSL:1m; 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 / { proxy_pass http://tomcats/; index index.html index.htm; } } ``` #### 3. 强制 HTTP 重定向到 HTTPS 为了确保所有请求都通过 HTTPS 进行,可以配置 Nginx 将 HTTP 请求重定向到 HTTPS。这可以通过添加另一个 `server` 块来实现,该块监听 80 端口并返回 301 重定向响应。 ```nginx server { listen 80; server_name example.com; # 强制重定向到 HTTPS return 301 https://$host$request_uri; } ``` #### 4. 验证配置并重启 Nginx 在完成配置后,需要验证 Nginx 配置是否正确。可以通过以下命令检查配置文件语法: ```bash nginx -t ``` 如果配置文件语法正确,可以使用以下命令重启 Nginx 以应用更改: ```bash systemctl restart nginx ``` #### 5. 配置 Docker 部署的 Nginx 如果使用 Docker 部署 Nginx,则需要在 Docker 容器中挂载 SSL 证书文件,并在 Nginx 配置中引用这些文件。例如,在 Docker Compose 文件中,可以这样配置: ```yaml version: '3' services: nginx: image: nginx:latest volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./ssl:/etc/nginx/ssl ports: - "80:80" - "443:443" ``` 确保 Nginx 配置文件中的 SSL 证书路径与挂载的卷路径一致。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值