如何在服务器上强制将HTTP跳转到HTTPS:配置与实施 | 南锋

南锋

南奔万里空,脱死锋镝余

如何在服务器上强制将HTTP跳转到HTTPS:配置与实施

博主最近心血来潮,将网站从github部署到云服务器上。
在域名解析之后发现访问博客只能通过http访问,而且总是提示网站不安全,于是便心生了将http强制跳转到https的想法~

做法很简单

下载ssl证书

下载nginx的ssl证书,没有的需要先去申请,网上很多教程,这里就不介绍了

修改配置文件

打开云服务器终端,修改nginx.conf配置,输入命令
vim /etc/nginx/nginx.conf
将下面代码复制粘贴到原有的配置的server{}下面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server{
listen 443 ssl;
server_name localhost; # localhost修改为您证书绑定的域名。
ssl_certificate cert/domain_name.top.pem; #将domain_name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain_name.top.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 / {
proxy_pass http://127.0.0.1:80; #选填你的端口号
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
}

复制好后,按esc键,然后按shift + :键,输入x保存退出
再在终端输入nginx -s reload重启nginx服务即可
示意图

+