目录

 流程

1、证书申请、验证、下载

 2、配置nginx

最近我的个人网站个人网站https://www.sanjie.site/从http升级到https的过程记录。

网站效果图,欢迎访问关注❤️

 流程

申请网站ssl安全证书:验证域名所有权下载证书配置nginx(记录躺坑过程)

1、证书申请、验证、下载

申请证书有很多渠道,阿里云、腾讯云、FreeSSL等,我域名通过阿里云购入的所以选择了阿里云,阿里云有二十个免费证书实名认证后直接申请就行了,实名认证也很简单直接支付宝实名也比较方便,申请的审核也很快(通常几分钟),需要用到备案过的域名,如果域名没有备案可以尝试FreeSSL。

https://yundun.console.aliyun.com/

整个过程很简单:创建证书->证书申请->下载证书(选择相应服务器的证书下载即可)

证书下载后,留着配置ng会用。

 2、配置nginx

在这里提前说下我遇到的两个坑,我是CentOs的系统,用yum安装的nginx不带有ssl模块,所以我通过yum卸载了nginx,然后通过源码包安装了ng

在官网下载了包: wget https://nginx.org/download/nginx-1.18.0.tar.gznginx: downloadhttps://nginx.org/en/download.html

解压:tar -zxvf nginx-x.x.x.tar.gz

安装依赖:sudo yum install -y gcc gcc-c++ make openssl-devel pcre-devel zlib-devel

配置编译ssl参数并编译:

./configure --with-http_ssl_module

make

sudo make install

配置nginx.conf,配置了https以及http重定向到https

将下载解压的证书上传到ng服务器/usr/local/nginx/conf/cert(具体目录视安装情况定)

vim /usr/local/nginx/conf/nginx.conf

#以下属性中,以ssl开头的属性表示与证书配置有关。

server {

#配置HTTPS的默认访问端口为443。

#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。

#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。

listen 443 ssl;

#填写证书绑定的域名

server_name ;

root html;

index index.html index.htm;

#填写证书文件名称

ssl_certificate cert/.pem;

#填写证书私钥文件名称

ssl_certificate_key cert/.key;

ssl_session_timeout 5m;

#表示使用的加密套件的类型

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

#表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。

ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

ssl_prefer_server_ciphers on;

location / {

#Web网站程序存放目录

root html;

index index.html index.htm;

}

}

#置HTTP请求自动跳转HTTPS

server {

listen 80;

#填写证书绑定的域名

server_name ;

#将所有HTTP请求通过rewrite指令重定向到HTTPS。

rewrite ^(.*)$ https://$host$1;

location / {

index index.html index.htm;

}

}

可以通过nginx -t 检查配置文件语法,没问题直接启动ng:service nginx restart

在这里再提一个我遇到的坑,在ng配置ssl事端口是443,记得把该server下 listen 80删掉,导致http重定向一直失败,当然这个过程中有借助ChatGPT,提升了不少效率

http升级就说到这儿了,有问题评论区讨论,也欢迎光临个人网站

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。