如何让你的网站也能跟我的一样使用HTTPS访问?

622 阅读2分钟

使用HTTPS访问我们的网站,不仅可以增加我们网站的安全性,更重要的是还能提升我们网站的逼格!我在为网站搭建SSL服务和CDN上有一些经验,在这里分享给大家,希望能帮到在这方面有需求的小伙伴吧!!!

如何让你的网站也能跟我的一样使用HTTPS访问?

第一步 购买SSL证书

打开 阿里云 > 产品与服务 > SSL证书

购买SSL证书

第二步 验证域名

购买成功后,需要验证我们域名,所以我们需要解析域名

  • 记录类型:TXT
  • 主机记录:hub.fengwenyi.com
  • 记录值:将表格中的记录值填写到这里

点击 保存。 然后在验证域名那里点击 验证

第三步 下载证书

虽然域名验证通过,但是我们申请的证书还需要一段时间的审核。

这时候我们需要去下载证书。

hub.fengwenyi.com的SSL证书

第三步 配置

这里需要说明的是,我们是使用Nginx哦

所以,我们将下载的证书上传到服务器 .../nginx/config/cert 目录下

然后我们去配置 Nginx

  • listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
  • server_name hub.fengwenyi.com; # 域名,用于代替将要访问的端口号
  • ssl_certificate cert/hub.fengwenyi.com.pem; #将domain name.pem替换成您证书的文件名。
  • ssl_certificate_key cert/hub.fengwenyi.com.key; #将domain name.key替换成您证书的密钥文件名。
  • ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
  • ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。

然后,我们将访问80端口的时候,也跳转到这里

  • rewrite ^(.*)https://host$1 permanent; #将所有http请求通过rewrite重定向到https。

Nginx完整配置如下:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
 		listen 80;
 		server_name hub.fengwenyi.com;   #将localhost修改为您证书绑定的域名,例如:www.example.com。
		rewrite ^(.*)$ https://$host$1 permanent;   #将所有http请求通过rewrite重定向到https。
 		location / {
			proxy_pass http://localhost:5000/;
		}
    }

    server {
        listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
        server_name hub.fengwenyi.com;   # 域名,用于代替将要访问的端口号
        ssl_certificate cert/hub.fengwenyi.com.pem;   #将domain name.pem替换成您证书的文件名。
        ssl_certificate_key cert/hub.fengwenyi.com.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://localhost:5000/;
        }
    }
}

重启 Nginx

./nginx -s reload

预览

等这些操作完,SSL证书差不多审核完成了。

话不多我们直接访问一下吧!

hub.fengwenyi.com

Harbor Login

个人网站

www.fengwenyi.com