在服务器中配置ssl证书

  • 首先需要在阿里云或其他地方搞到一个域名SSL证书
  • 在nginx的目录下新建一个cert文件夹用于存放证书信息
  • 将.pem和.key文件放到该目录下
  • 在nginx的conf配置文件夹下添加一个xxxx.conf文件
  • 这里是阿里云给出的基本配置文件
  server {
listen 443;//https端口
server_name localhost;//自己的域名或者是服务器的地址
ssl on;
root html;//你项目的路径
index index.html index.htm;
ssl_certificate cert/a.pem;//你的ssl证书中的pem文件
ssl_certificate_key cert/a.key; //你的ssl证书中的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 / {
root html;
index index.html index.htm;
}
}

详细参考 https://help.aliyun.com/knowledge_detail/95491.html?spm=5176.2020520154.cas.36.33eeYppaYppaLB

  • 重启nginx
nginx -s reload
  • 完成以上步骤后,服务器的ssl证书就已经安装好了

此时访问你服务器的443端口,就能看见你部署的项目或者是nginx的默认页面(和你的配置信息有关)

WordPress 开启支持https 访问方法

  • wordpress默认是不开启https的
  • 在wordpress的后台管理系统中搜索插件Really Simple SSL
  • 下载并安装插件,插件会检测你的网站是否已经配置好ssl证书

这个是已经配置好的界面

  • 如果提示有错误信息那么在wordpress的安装目录下找到wp-config.php文件夹
  • 使用vim命令打开编辑,在文件的末尾处添加下面一句代码
 //Begin Really Simple SSL Load balancing fix
$server_opts = array("HTTP_CLOUDFRONT_FORWARDED_PROTO" => "https", "HTTP_CF_VISITOR"=>"https", "HTTP_X_FORWARDED_PROTO"=>"https", "HTTP_X_FORWARDED_SSL"=>"on", "HTTP_X_PROTO"=>"SSL", "HTTP_X_FORWARDED_SSL"=>"1");
foreach( $server_opts as $option => $value ) {
if ((isset($_ENV["HTTPS"]) && ( "on" == $_ENV["HTTPS"] )) || (isset( $_SERVER[ $option ] ) && ( strpos( $_SERVER[ $option ], $value ) !== false )) ) {
$_SERVER[ "HTTPS" ] = "on";
break;
}
}
//END Really Simple SSL
  • 此处代码的作用就是强制将所有http传输转为https传输
  • 到此我们的服务器已经完成了ssl证书的配置并且wordpress也可以通过https访问了

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注