SSL证书的获取与安装
1、1 SSL证书的种类
SSL证书主要分为以下几种:
1、免费证书:由一些第三方机构提供,如Let's Encrypt、DigiCert等,这些证书通常有一定的有效期限制,但对于个人或小型网站来说已经足够使用。
2、付费证书:由权威的数字证书认证机构(CA)颁发,如Symantec、GlobalSign等,这些证书的安全性更高,但需要支付一定的费用。
3、企业级证书:适用于企业级应用,如电子商务、金融等,这类证书通常由权威的CA颁发,具有更高的安全性和可靠性。
1、2 如何获取SSL证书
以Let's Encrypt为例,我们可以通过以下步骤获取免费的SSL证书:
1、安装Certbot客户端:Certbot是一个用于自动申请和配置SSL证书的工具,根据你的服务器操作系统,从Certbot官网(https://certbot.eff.org/)下载对应的安装包,并按照说明进行安装。
2、申请SSL证书:运行以下命令,将为你的域名申请一个免费的SSL证书:
sudo certbot certonly --standalone -d example.com -d www.example.com
example.com
和www.example.com
分别表示你的主域名和www子域名,执行该命令后,Certbot会自动申请一个SSL证书,并将其保存在/etc/letsencrypt/live/example.com/
目录下。
3、配置Web服务器:根据你使用的Web服务器(如Nginx、Apache等),修改相应的配置文件,启用HTTPS并指定证书文件的位置,以下是Nginx和Apache的示例配置:
Nginx配置:
server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; 其他配置... }
Apache配置:
<VirtualHost *:80> ServerName example.com www.example.com Redirect permanent / https://example.com/ </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName example.com www.example.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLProtocol all -SSLCDN -SSLv3 SSLCipherSuite HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES:!DSS:!RC4:+HIGH:+MEDIUM:+LOW:+EXPECT_FAILURE:!SRP:!DSS1:!CAMELLIA128-SHA:!CAMELLIA256-SHA:!AES128-SHA:!AES256-SHA SSLHonorCipherOrder on SSLCompression off SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000) SSLSessionCacheTimeout 300 SSLOpenCookiesOnly yes SSLNoSessionReuse yes SSLSessionTicketsEnabled no SSLSealKeyAvailable yes </VirtualHost> </IfModule>
配置Web服务器支持HTTPS重定向
为了确保用户访问HTTP站点时被自动重定向到HTTPS站点,我们需要在Web服务器的配置文件中添加相应的重定向规则,以下是Nginx和Apache的示例配置:
Nginx配置:
server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; }
Apache配置:
<IfModule mod_rewrite.c> RewriteRule (^http://[^/]+) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/279269.html