Nginx配置SSL证书
2022/7/7 5:20:26
本文主要是介绍Nginx配置SSL证书,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
前面的几篇文章介绍了如何在centos中安装nginx以及如何部署前端应用,如何代理后端的API解决前端请求跨域的问题,今天介绍如何使用SSL证书保护我们的应用。
准备
- 拥有一台可以被自己支配的
电脑
(记得插上网线) - 拥有属于自己的
域名
(20块钱一年的那种) - 拥有属于自己的
服务器
(双十一拿3杯拿铁去腾讯云或阿里云兑换一年的那种再合适不过了) - 最后一点也是最重要的一点:可以支配自己
勤劳的双手
如何获取SSL证书
- 测试服务器在国内的云服务商的话都有一定的免费试用申领次数(如腾讯云、阿里云、百度云等)。
- 如果达到次数了可以选择
Let’s Encrypt
之类的证书也可以(当然也有很多其他的)。
说明:有实力的当然可以选择商用的
部署SSL证书到nginx
以下我们使用www.xxx.com
的单域名证书
使用方式为例,按照惯例配置极简模式
下的SSL配置(请注意SSL使用443端口
):
server { #SSL使用443端口 listen 443 ssl; #SSL证书绑定的单域名 server_name www.xxx.com; #证书pem文件 ssl_certificate /usr/cert/www_xxx_com.pem; #证书key文件 ssl_certificate_key /usr/cert/www_xxx_com.key; #缓存SSL握手产生的参数和加密密钥的时长 ssl_session_timeout 5m; #使用的加密套件的类型 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的TLS协议的类型 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #加密套件优先选择服务器的加密套件 ssl_prefer_server_ciphers on; #spa应用配置 location / { root /var/www/mainApp; ###配置主应用的文件夹 index index.html index.htm; try_files $uri $uri/ /index.html; } }
以上配置成功后执行
nginx -s reload
后即可通过https://www.xxx.com
访问了
注意
:一定要使用https
协议访问哦(这里我们没有配置http协议的站点
)!!!
www.xxx.com
的证书只能用于www.xxx.com
的绑定,如果有shop.xxx.com
的二级域名需要再申请一个shop.xxx.com
的单域名证书
,或者申请泛域名证书
如何做到HTTP和HTTPS都可以访问
上面将站点的端口从 80
修改为 443
后,我们虽然可以通过 https://www.xxx.com
访问网站,但是当我们使用 http://www.xxx.com
访问的时候却发现无法进入网站,下面我们将新增 http
协议访问的配置:
#HTTP协议访问的配置 server { #http使用80端口 listen 80; #解析的单域名 server_name www.xxx.com; #spa应用配置 location / { root /var/www/mainApp; #配置应用的文件夹 index index.html index.htm; try_files $uri $uri/ /index.html; } } #HTTPS使用SSL访问的配置 server { #SSL使用443端口 listen 443 ssl; #SSL证书绑定的单域名 server_name www.xxx.com; #证书pem文件 ssl_certificate /usr/cert/www_xxx_com.pem; #证书key文件 ssl_certificate_key /usr/cert/www_xxx_com.key; #缓存SSL握手产生的参数和加密密钥的时长 ssl_session_timeout 5m; #使用的加密套件的类型 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的TLS协议的类型 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #加密套件优先选择服务器的加密套件 ssl_prefer_server_ciphers on; #spa应用配置 location / { root /var/www/mainApp; #配置应用的文件夹 index index.html index.htm; try_files $uri $uri/ /index.html; } }
以上配置成功后执行
nginx -s reload
后即可通过http://www.xxx.com
或https://www.xxx.com
访问了
下一篇介绍如何强制
使用 https
协议访问网站,即:将所有 HTTP
的请求转发到 HTTPS
这篇关于Nginx配置SSL证书的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享