买了一个域名,一个 VPS,安装好 Nginx,配置了一个博客,或者一个Web服务。在Chrome中访问后,地址栏 不安全
三个字,很是让人不舒服。今天这篇博客,就记录一下如何配置 Nginx 的 HTTPS 重定向。整个过程很简单,一共有三步,域名配置,HTTPS 证书申请,配置 Nginx,下面将详细说明。
域名配置
首先,将自己的域名配置A记录,指向自己的服务器。并且在服务器上装好 Nginx。
安装 Nginx 使用命令 apt-get install nginx
HTTPS 证书申请
- Ping 一下自己的域名,确定域名已经被解析到自己的VPS。
- 执行命令
apt-get install letsencrypt
安装 letsencrypt - 执行命令
service nginx stop
先将 Nginx 停掉 - 执行命令
letsencrypt certonly --standalone
进行获取证书流程,根据提示,输入信息,域名,邮箱等 - 获取证书流程结束后,会生成两个文件,在接下来的的 Nginx 配置中会用到
/etc/letsencrypt/live/imoegirl.com/fullchain.pem
/etc/letsencrypt/live/imoegirl.com/privkey.pem
上面的 imoegirl.com 只是举例,这里是你输入的域名
Nginx 配置
- 执行命令
cd /etc/nginx/conf.d
- 使用你喜欢的编辑器创建并编辑文件
my.conf
(命名无所谓,只要扩展名是.conf) - 输入以下内容
server {
listen 80;
listen [::]:80;
server_name imoegirl.com;
return 301 https://imoegirl.com$request_uri;
}
server {
listen 443 ssl http2;
server_name imoegirl.com;
ssl_certificate /etc/letsencrypt/live/imoegirl.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/imoegirl.com/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
keepalive_timeout 70;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #SSL协议
location / {
root /var/www/blog; # 这里是网站所在的目录,可以改成自己想要的
index index.html index.htm;
}
} - 执行命令
service nginx start
启动 Nginx
经过上面的配置,当我们访问 http://imoegirl.com 时,会自动被重定向到 https://imoegirl.com
注意:我们在 letsencrypt 申请的免费证书,是有有效期的,当证书过期时,重新来一遍申请流程即可
Author: iMoegirl
Permalink: http://imoegirl.com/2020/07/11/nginx-https-config-and-redirect/
任何技术问题,可加微信交流,微信: ifloop
搜索并关注微信公众号 [ 萌一小栈 ] 可及时订阅最新技术文章
Comments