怎么给网站配置SSL证书(https)

简介: 怎么给网站配置SSL证书(https) 访问安全的需求和大众的趋势使得我们该考虑给网站加ssl了,给网站加上ssl并不难,只要申请一个免费的ssl证书,在服务器端配置好ssl,wordpress稍加修改就可以实现https访问了。

怎么给网站配置SSL证书(https)

访问安全的需求和大众的趋势使得我们该考虑给网站加ssl了,给网站加上ssl并不难,只要申请一个免费的ssl证书,在服务器端配置好ssl,wordpress稍加修改就可以实现https访问了。

申请SSL证书

如今免费的ssl证书申请机构不少,对于个人站长来说使用一个免费的DV SSL就可以了,要求更高的可以选择付费购买高级ssl证书。说到ssl证书,有以下三种

我们能申请到的免费证书就是DV SSL,个人站长不二之选。

免费证书从哪申请,我就介绍几个,具体申请步骤百度即可!

配置SSL证书

虚拟主机没有独立ip的可能不支持ssl证书,而虚拟主机一般是共享ip,如果有独立ip可以向空间商咨询一下。使用ssl最好是有自己的服务器,如购买一个vps搭建即可。web服务器又有apache、nginx、iis等版本,使用不同的web服务器配置的步骤也就不同,具体配置过程百度即可,有安装了vps面板的服务器配置ssl可能会容易一些。以下简单演示本站配置过程:(阿里云免费SSL证书+VPS | LNMP环境)

首先,下载证书,并上传到服务器。

其次进入网站的目录下,找到usr/local/Nginx/conf下的"自己的域名前缀.conf"这个文件(安装Nginx的方法不同有可能目录也不一样),在文件中添加字段:

listen 443 ssl;

ssl_certificate /usr/local/nginx/cert/213979626930477.pem;ssl_certificate_key /usr/local/nginx/cert/213979626930477.key;

重启nginx,ssl配置生效。

WordPress的相关设置

在服务器端配置好ssl证书并开启了443端口的话,就可以通过https://域名访问了,如果不能访问,前面的配置过程可能没有弄好。虽然能进行https访问wordpress了,但是在打开的页面下通过审查元素你会发现站内还是有部分js文件、css文件、图片等静态资源都是http链接。由于HTTPS协议的规定,https网站是不能引用http资源的或者需要点击窗口确认http资源的引用,结果是网站没有小绿锁虽然是https链接,并且各种js效果失效css样式缺失。https网页引用了http的资源小绿锁就没有显示,如果你不想再用http,那么可以在后台修改wordpress地址和站点地址,全部换成https://,

替换wordpress的http链接

由于我们在编辑文章时插入的图片都是都标上了http链接,所以打开网页时小绿锁依然没有显示。提供两个代码可用于修改wordpress的http链接:

HTTPS绝对链接替换:替换wordpress网站中的http链接为https,代码放于主题function.php文件中。(注意替换的是标签仅是网站内部链接,外部无效)

add_filter('get_header', 'fanly_ssl');

function fanly_ssl(){

if( is_ssl() ){

function fanly_ssl_main ($content){

$siteurl = get_option('siteurl');

$upload_dir = wp_upload_dir();

$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);

$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);

return $content;

}

ob_start("fanly_ssl_main");

}

}

HTTPS相对链接替换:替换wordpress网站中的http链接为//相对链接,即http中引用http资源,https引用https资源,自动适应:

add_filter('get_header', 'fanly_ssl');

function fanly_ssl(){

if( is_ssl() ){

function fanly_ssl_main ($content){

$siteurl = get_option('siteurl');

$upload_dir = wp_upload_dir();

$content = str_replace( 'http:'.strstr($siteurl, '//'), strstr($siteurl, '//'), $content);

$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);

return $content;

}

ob_start("fanly_ssl_main");

}

}

当我们的网站https已经可以访问了又不想继续留着http的话,可以做一个http跳转https的301重定向,这样用户访问时就会自动跳转到https,非常方便。

进入网站的目录下,打开"自己的域名前缀.conf"这个文件,添加代码:

if ($server_port = 80) {

return 301 https://$server_name$request_uri;

}

if ($scheme = http) {

return 301 https://$server_name$request_uri;

}

error_page 497 https://$server_name$request_uri;

然后再重启一下Nginx,然后你可以方法你的非https链接看看是不是跳转到了https链接,如果跳转了,那么祝贺你大功告成。

编写不易,你的赞是最大鼓励!!

相关文章
|
8天前
|
安全 搜索推荐 数据建模
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
SSL证书是网络安全的关键,用于加密和验证网站身份,保护用户数据安全,防止信息被窃取。它分为DV、OV、EV和IV四种类型,每种验证网站身份的程度不同。DV证书快速签发,OV和EV证书提供更高级别的身份验证,EV证书曾在浏览器地址栏显示绿色。目前,DV证书占据市场大部分份额。SSL证书还有单域、通配符和多域之分,有效期曾从多年逐渐缩短至90天,以增强安全性。部署SSL证书能提升用户信任,优化SEO排名,并符合网络安全法规要求。
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
|
2月前
|
网络协议 Java 应用服务中间件
Springboot+ubuntu+Let‘s Encrypt配置https
Springboot+ubuntu+Let‘s Encrypt配置https
30 0
|
2月前
|
弹性计算 应用服务中间件 Apache
ECS配置问题之输入ip无法访问如何解决?
ECS配置指的是对阿里云Elastic Compute Service(弹性计算服务)实例的硬件和软件资源进行设置的过程;本合集将详述如何选择合适的ECS配置、调整资源配比以及优化实例性能,以满足不同应用场景的需求。
|
2月前
|
安全 应用服务中间件 网络安全
HTTPS 基础原理和配置 -2
HTTPS 基础原理和配置 -2
|
2月前
|
安全 应用服务中间件 网络安全
HTTPS 基础原理和配置 -3
HTTPS 基础原理和配置 -3
|
2月前
|
域名解析 应用服务中间件 Linux
【服务器】使用域名解析服务器的IP地址并配置SSL证书
【服务器】使用域名解析服务器的IP地址并配置SSL证书
393 0
|
4天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
9天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
24 0
|
19天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
26 3
|
20天前
|
安全 网络安全 数据安全/隐私保护
SSL证书过期后网站还能正常访问吗
SSL证书过期后,网站仍可访问,但浏览器会出现警告,降低用户信任度,增加数据安全风险。过期可能导致安全性下降、信任问题、浏览器限制及合规性风险。管理员需关注证书有效期,及时续费或更换,并选择可靠提供商。
SSL证书过期后网站还能正常访问吗