前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >给WordPress添加HTTPS

给WordPress添加HTTPS

作者头像
用户2475223
发布2019-12-17 15:50:21
1.2K0
发布2019-12-17 15:50:21
举报
文章被收录于专栏:codersamcodersam

HTTPS和HTTP

HTTPS是超文本传输协议,用来建立浏览器和服务器之间的通讯服务,HTTP在传输请求头报文是明文传输,这将带来很多的隐患,HTTPS因此诞生。

HTTPS在其超文本传输协议上增加了SSL安全协议,来加密请求头的报文,以达到传输数据加密的效果。

HTTPS和HTTP的区别:

  • HTTPS比HTTP更加安全,使用SSL安全协议对数据进行加密。
  • HTTPS需要申请CA证书,免费证书较少(我使用阿里云的免费证书),需要支付一些费用。
  • HTTP使用80端口进行通信,而HTTPS使用443端口进行通信

申请阿里云免费证书

支付完成后,需要签发。

填写相应信息即可,等待CA验证通过。

当验证通过后,可以下载证书,部署到服务器中。

NGINX配置SSL证书

下载申请好的证书,会得到一个key文件和pem文件。 key文件就是SSL证书的秘钥,pem文件是公钥。

通过FTP或其他方式将这两个文件上传至服务器后,修改nginx配置文件。

代码语言:javascript
复制
listen 443 ssl; # 监听443端口
if ($server_port !~ 443){  # 强制跳转至HTTPS协议
    rewrite ^(/.*)$ https://$host$1 permanent;
}

ssl_certificate    filepath/fullchain.pem; # 公钥文件
ssl_certificate_key    filepath/privkey.key; # 密钥文件
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 指定密码为openssl支持的格式
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #密码加密方式
ssl_prefer_server_ciphers on; # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
ssl_session_cache shared:SSL:10m; # 设置存储session参数的缓存的类型和大小
ssl_session_timeout 10m; # 指定客户端可以重用session参数的时间

重载nginx配置。 使用nginx -t 检测配置 返回successful表示可用

注意以下几点

  • --with-http_ssl_module 需要编译到nginx中
  • 服务器需要安装openssl、openssl-devel

WordPress配置HTTPS

在左边栏找到设置->常规

修改链接中的http为https 如果配置后不生效的话,找到WordPress根目录,需要修改两个文件

代码语言:javascript
复制
// 根目录/wp-includes/http.php
// 546行
$parsed_home['host'] ) === strtolower( $parsed_url['host'])
// 修改为
(strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host']) || "localhost" === strtolower( $parsed_url['host']))

// 根目录/wp-config.php增加如下代码
$_SERVER['HTTPS'] = 'on';
define("FORCE_SSL_LOGIN", true);

define("FORCE_SSL_ADMIN", true);
// 在最后的if判断前增加,否则会不生效

至此给WordPress添加HTTPS就完成了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年5月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTPS和HTTP
  • 申请阿里云免费证书
  • NGINX配置SSL证书
    • 注意以下几点
    • WordPress配置HTTPS
    相关产品与服务
    SSL 证书
    腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档