您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

如何为你的网站部署SSL证书

时间:2022-10-06 17:02:18  来源:今日头条  作者:海淘世界

为了推动更安全的HTTPS加密协议普及全网,谷歌Chrome从2017年开始逐步对HTTP网站标记“不安全”警告,并提示“你与此网站之间建立的连接不安全”。在Chrome 68版本中,对所有HTTP网站标记“不安全”,帮助用户了解与网站之间的连接何时不安全,同时激励网站所有者提高其网站的安全性。


 

此外,某些版本的chrome还结合一组互补字符串使用,让用户更容易理解安全标识的含义。

 

  • 对于有效HTTPS:显示“secure” 和“https”,配合绿色安全锁
  • 对于HTTP:显示“http”和“site not secure”,配合黑色圆圈
  • 对于无效HTTPS:显示“not secure”and “site not secure”,配合红色三角警告

 


 

对于一些个人博客来说,虽然不存在注册、交易等可能泄露个人隐私信息的情况,但是也建议为网站申请和部署SSL证书(免费的即可),毕竟即使是不安全提示也会吓退一部分用户。

本文记录一下如何在阿里云服务器上部署SSL证书,希望对您有所帮助。

首先访问阿里云SSL证书-免费证书(证书申请请参考:如何申请阿里云SSL证书?),根据你的web服务器类型,下载对应的证书。我选择的是Apache服务器,这里需要根据实际情况进行选择。


 

证书由3个文件组成,分别为:

 

  • 证书文件:以xxx_public.crt为后缀或文件类型。
  • 证书链文件:以xxx_chAIn.crt为后缀或文件类型。
  • 密钥文件:以xxx.key为后缀或文件类型。

 

证书下载完成之后,就可以开始部署SSL证书了。

开放端口443

由于HTTPS使用443端口,因此首先需要配置一下阿里云安全组的访问规则,放开443端口。

配置入口:https://ecs.console.aliyun.com/#/server/i-j6cagiqhn4rzss2r6jjj/group/group?regionId=cn-hongkong

最简单的方法就是复制一下80端口的规则,然后将端口号改为443即可。


 

安装mod_ssl

对于centos 7请使用YUM命令安装mod_ssl模块,如果系统为CentOS 8/Rockylinux 8/AlmaLinux8等,可以使用dnf命令。

# 安装mod_ssl模块yum -y install mod_ssl# 为了使能mod_ssl,需要重新启动Apachesystemctl restart httpd# 使用httpd或者apachectl检查是否使能了mod_ssl,如果输出ssl_module(shared),那么配置成功。httpd -M | grep sslapachectl -M | grep sslssl_module (shared)

输入httpd -S 可以看到Apache当前的配置信息(当前仅显示虚拟主机设置)

其中 *:443 localhost (/etc/httpd/conf.d/ssl.conf:40) 表示当前已经在localhost监听443端口。

# httpd -SVirtualHost configuration:*:80 is a NameVirtualHostdefault Server domain1.com (/etc/httpd/conf.d/domain1.com.conf:1)port 80 namevhost domain1.com (/etc/httpd/conf.d/domain1.com.conf:1)alias www.domain1.comport 80 namevhost domain2.com (/etc/httpd/conf.d/domain1.com.conf:17)alias www.domain2.com*:443 localhost (/etc/httpd/conf.d/ssl.conf:40)Serverroot: "/etc/httpd"Main DocumentRoot: "/var/www/html"Main ErrorLog: "/etc/httpd/logs/error_log"Mutex lua-ivm-shm: using_defaultsMutex ssl-stapling: using_defaultsMutex proxy: using_defaultsMutex authn-socache: using_defaultsMutex ssl-cache: using_defaultsMutex default: dir="/etc/httpd/run/" mechanism=defaultMutex cache-socache: using_defaultsMutex authdigest-opaque: using_defaultsMutex watchdog-callback: using_defaultsMutex proxy-balancer-shm: using_defaultsMutex rewrite-map: using_defaultsMutex ssl-stapling-refresh: using_defaultsMutex authdigest-client: using_defaultsPidFile: "/etc/httpd/run/httpd.pid"Define: DUMP_VHOSTSDefine: DUMP_RUN_CFGUser: name="apache" id=48Group: name="apache" id=48

mod_ssl配置文件位于下面两个文件中:

/etc/httpd/conf.d/ssl.conf/etc/httpd/conf.modules.d/00-ssl.conf

其中 00-ssl.conf 的内容只有一行,表示加载mod_ssl模块:

LoadModule ssl_module modules/mod_ssl.so

ssl.conf 则是SSL配置文件

拷贝证书

将证书拷贝到服务器上的Apache安装目录中,对于YUM安装的Apache来说,安装目录位于:/etc/http。我们创建一个cert目录(目录名称随意)专门用来存放证书。

根据[https://serverfault.com/questions/216477/what-should-be-the-permissions-of-apache-ssl-directory-Certificate-and-key]:

 

  • cert目录和证书文件的属主应该为root(root)。
  • cert目录的权限应该设置为700,证书文件的权限应该设置为600。

 

之所以需要写权限是为了定期更新证书。如果手动更新的话,目录权限可以设置为500,证书权限可以设置为400。

# chown -R root:root /etc/httpd/cert# mkdir /etc/httpd/cert# chmod 700 /etc/httpd/cert/配置SSL证书

在 /etc/httpd/conf.modules.d/00-ssl.conf 文件(也可以在/etc/httpd/conf.d/ssl.conf文件或者创建一个新的.conf文件)中添加以下内容:

注意:如果证书包含多个域名,复制...,并将ServerName修改为其它域名。

LoadModule ssl_module modules/mod_ssl.soServerName www.haitaolab.comDocumentRoot /var/www/htmlSSLEngine onSSLProtocol all -SSLv2 -SSLv3SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder onSSLCertificateFile /etc/httpd/cert/7772727_www.haitaolab.com_public.crtSSLCertificateKeyFile /etc/httpd/cert/7772727_www.haitaolab.com.keySSLCertificateChainFile /etc/httpd/cert/7772727_www.haitaolab.com_chain.crtServerName haitaolab.comDocumentRoot /var/www/htmlSSLEngine onSSLProtocol all -SSLv2 -SSLv3SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder onSSLCertificateFile /etc/httpd/cert/7772727_www.haitaolab.com_public.crtSSLCertificateKeyFile /etc/httpd/cert/7772727_www.haitaolab.com.keySSLCertificateChainFile /etc/httpd/cert/7772727_www.haitaolab.com_chain.crt

此时如果访问https://haitaolab.com的话,应该可以正常访问,并且带有一把小锁。

在[https://www.digitalocean.com/community/questions/apache-non-www-to-www-https-secure-and-let-s-encrypt]中还介绍了一种方法,

ServerAdmin admin@domain.co.ukServerName www.domain.co.ukServerAlias domain.co.ukDocumentRoot /var/www/html/domainOptions FollowSymLinksAllowOverride AllRequire all granted# Redirect non-www to wwwRewriteEngine OnRewriteCond %{HTTP_HOST} !^www. [NC]RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combinedInclude /etc/letsencrypt/options-ssl-apache.confSSLCertificateFile /etc/letsencrypt/live/domain.co.uk/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/domain.co.uk/privkey.pem

下一步就是将http链接的访问永久重定向到https链接。

执行301永久重定向

重定向有两种方法:

 

  • 服务器虚拟主机配置文件
  • .htaccess文件

 

(1)服务器虚拟主机配置文件

老外的大多数教程都使用了下面这种方法,即在主配置文件添加下面的配置

sudo vi /etc/httpd/conf/httpd.confServerName www.example.comRedirect "/" "https://www.example.com/"

不过,我觉得单独创建一个配置文件更好一些,例如在 httpd/conf.d 目录中创建一个 haitaolab.conf 配置文件,内容为:

ServerName www.haitaolab.comRedirect permanent "/" "https://www.haitaolab.com/"

注意:permanent 的意思是301永久重定向。

(2).htaccess

也可以通过在.htaccess文件中添加规则进行重定向,这种方法需要 使能/enable 读取.htaccess文件,Apache默认是禁止的。

这是因为考虑到安全性,强烈建议将根目录的AllowOverride属性设置为 Override=None。

# AllowOverride controls what directives may be placed in .htaccess files.# It can be "All", "None", or any combination of the keywords:# Options FileInfo AuthConfig LimitAllowOverride None

如果允许.htaccess文件,那么可以这样配置重定向

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

也有这种写法

RewriteEngine OnRewriteCond %{HTTPS} !=onRewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Apache配置文件检测

# 检查配置文件是否合法apachectl configtest# 重新加载配置文件systemctl reload httpd

更多介绍请参考:https://www.cyberciti.biz/faq/apache-2-reload-httpd-config-file-unix-linux-command/

SSL证书检测

https://www.ssllabs.com/ssltest/

https://www.thesslstore.com/ssltools/ssl-checker.php#results


 

参考

  1. https://help.aliyun.com/document_detail/98727.html
  2. https://linuxconfig.org/how-to-install-mod-ssl-on-redhat-8
  3. https://www.ssldragon.com/blog/how-to-install-an-ssl-certificate-on-apache/
  4. https://www.thesslstore.com/ssltools/ssl-checker.php
  5. https://hrefgo.com/blog/redirect-http-to-https#%E5%A6%82%E4%BD%95%E5%9C%A8_Apache_%E4%B8%AD%E8%BF%9B%E8%A1%8C_HTTP_%E9%87%8D%E5%AE%9A%E5%90%91
  6. https://hbayraktar.medium.com/how-to-install-ssl-certificate-on-apache-for-centos-7-38c25b84d8b1
  7. https://developers.google.com/search/docs/advanced/crawling/301-redirects?hl=zh-cn#permanent-server-side-redirects
  8. https://www.namecheap.com/support/knowledgebase/article.aspx/10313/33/ssl-certificate-installation-on-httpd-centos/
  9. https://www.cnblogs.com/kevingrace/p/9565123.html
  10. https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-apache-for-centos-7

 



Tags:SSL证书   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27  Search: SSL证书  点击:(12)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  Search: SSL证书  点击:(7)  评论:(0)  加入收藏
宝塔面板怎样绑定多个ssl证书?
宝塔面板怎样绑定多个ssl证书?宝塔面板是一种用于管理 Linux 服务器的图形化面板,提供了许多方便的功能和工具。对于需要在单个服务器上绑定多个 SSL 证书的用户来说,宝塔面板...【详细内容】
2024-01-17  Search: SSL证书  点击:(91)  评论:(0)  加入收藏
服务器证书和SSL证书有啥区别?
在互联网经济时代,随着越来越多的信息以及合作都是从企业官网开始的,因此绝大多数企业都会为自己的网站配置SSL证书,以提高安全性。在接触SSL证书时,也有很多人称之为服务器证书...【详细内容】
2024-01-10  Search: SSL证书  点击:(65)  评论:(0)  加入收藏
小程序必须要安装部署SSL证书吗?
自2017年9月21日,微信发布一则《关于公众平台接口不再支持HTTP方式调用的公告》。明确表示,为保证数据传输安全,提高业务安全性,公众平台不再支持HTTP方式调用。应避免影响正常...【详细内容】
2024-01-02  Search: SSL证书  点击:(70)  评论:(0)  加入收藏
SSL证书申请的成功与否会影响网站加载速度
当今互联网时代,网站加载速度已成为用户体验和搜索引擎排名的重要指标。而SSL证书的申请成功与否,也直接影响着网站的加载速度。SSL证书的作用不仅在于保障网站数据的安全传输...【详细内容】
2023-12-20  Search: SSL证书  点击:(116)  评论:(0)  加入收藏
什么是SSL证书?有免费的嘛?
一:什么是SSL证书?SSL证书是一种用于安全传输数据的数字证书。它通过加密数据,确保用户在与网站进行通信时信息得到保护。二:有SSL证书和没有SSL证书证书的区别是什么?SSL证书配...【详细内容】
2023-12-20  Search: SSL证书  点击:(95)  评论:(0)  加入收藏
SSL证书无效怎么办?SSL证书无效原因及解决办法
作为保护网站传输数据安全的重要工具,SSL证书经常被部署于网站服务器上以实现HTTPS加密。但部分网站部署SSL证书后,访问时有时候会出现SSL 证书无效警示。那么SSL证书无效怎么...【详细内容】
2023-12-19  Search: SSL证书  点击:(136)  评论:(0)  加入收藏
OV SSL证书的优点及适用对象
OV SSL证书也叫组织验证型SSL证书,是众多SSL证书当中比较受欢迎的一种类型。因为它不仅需要验证域名的所有权,还需要对企业的相关身份信息进行审核,确保企业是一个真实存在的合...【详细内容】
2023-12-12  Search: SSL证书  点击:(89)  评论:(0)  加入收藏
域名与SSL证书
域名是互联网上的地址标识符,它通过DNS(Domain Name System)将易于记忆的人类可读的网址转换为计算机可以理解的IP地址。当用户在浏览器中输入一个网址时,实际上是通过DNS解析到...【详细内容】
2023-12-08  Search: SSL证书  点击:(95)  评论:(0)  加入收藏
▌简易百科推荐
访问网站显示不安全是什么原因?怎么解决?
访问网站时显示“不安全”,主要原因以及解决办法: 1.没用HTTPS加密:网站还在用老的HTTP协议,数据传输没加密,容易被人偷看或篡改。解决办法是网站管理员启用HTTPS,也就是给网站装...【详细内容】
2024-04-08  JOYSSL爆爆    Tags:网站   点击:(7)  评论:(0)  加入收藏
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27    见方天地  Tags:SSL证书   点击:(12)  评论:(0)  加入收藏
HTTPS网站怎么实现
HTTP协议迁移到HTTPS,以提供更加安全的网络环境并增强用户信任。那么,如何将一个使用HTTP的网站安全升级到HTTPS呢?我们需要理解HTTP和HTTPS的区别。HTTP,即超文本传输协议,是一...【详细内容】
2024-03-27  倏然间    Tags:HTTPS   点击:(6)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  帝恩思DNS    Tags:SSL证书   点击:(7)  评论:(0)  加入收藏
网站运营的好与坏主要决定因素是内容与seo优化
在这个信息爆炸的时代,网站如雨后春笋般涌现,如何在众多网站中脱颖而出,吸引更多的访问者,成为了每一个网站运营者关心的问题。我们不禁要问,是什么决定了网站运营的好与坏呢?答案...【详细内容】
2024-03-26  易华合讯    Tags:网站运营   点击:(10)  评论:(0)  加入收藏
网站制作不再难:小白也能上手的建站教程
在互联网高速发展的时代,网站已成为企业、个人展示自身形象和实力的重要窗口。过去,网站制作对于许多人来说是一项技术活,需要专业的知识和经验。但随着技术的进步,现在即便是没...【详细内容】
2024-03-24  一度旭展互联网科技    Tags:网站制作   点击:(6)  评论:(0)  加入收藏
想建个网站赚钱?先来看看这篇建站指南吧
随着互联网的飞速发展,越来越多的人希望通过建立自己的网站来实现创业梦想或者赚取额外的收入。但建站并非一蹴而就的简单事情,它需要综合策划、设计、技术和运营等多方面的知...【详细内容】
2024-03-21  一度旭展互联网科技    Tags:网站   点击:(5)  评论:(0)  加入收藏
个人站长的出路在哪?
个人站长的出路在于不断适应互联网的发展趋势,积极寻求创新和变革。以下是一些个人站长可以考虑的出路: 转型为内容创作者:随着内容营销的兴起,越来越多的企业和个人开始注重内...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(39)  评论:(0)  加入收藏
网络环境和用户需求不断变化,个人站长该怎么办?
个人站长是一个相对特殊的群体,他们通常以个人身份独立运营网站,没有大型企业或组织的支持。由于缺乏资源和大企业的光环,个人站长需要更加注重策略和技巧,才能在竞争激烈的网络...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(38)  评论:(0)  加入收藏
AI时代 个人站长还有出路吗?
AI时代,个人站长依然有出路,但需要进行一些调整和转型。首先,利用AI工具可以帮助个人站长提高效率和产出质量。例如,利用AI进行内容创作、智能推荐、用户画像分析等,可以大大提升...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(45)  评论:(0)  加入收藏
站内最新
站内热门
站内头条