Code前端首页关于Code前端联系我们

Nginx 安装 SSL 证书以通过 Https

terry 2年前 (2023-09-28) 阅读数 72 #未命名

1 访问 WordPress 博客。 Nginx下配置SSL

首先你需要一个独立的IP和SSL证书。下面博主就给你一个申请地址。您可以自行申请,https://buy.wosign.com/free/?(这是Wosign免费的3年SSL证书)

证书颁发后,检索证书,解压nginx压缩包,然后获取 xxx.key 和 xxx.crt。第一个是密钥,第二个是证书。然后将以下代码添加到nginx配置文件中。

  1. #------SSL开始
  2. 听443;
  3. SSL 开启;
  4. SSL_Certificate /usr/local/nginx/conf/ssl/xxx.crt;
  5. ssl_certificate_key/usr/local/nginx/conf/ssl/xxx.key;
  6. #-----SSL END

2.替换站点上的非Https资源。

按照上面的方法更改配置文件后,我们可以通过https访问网站看看效果。

虽然可以访问,但是没有显示绿色的锁,但是有一个三角标志,这很可能意味着网站加载了非https资源。 SSL协议下的所有资源都必须是加密链接,所以下一步就是。要将所有http源加载到https编码的链接中,首先进入WP后端→设置→常规→WordPress地址和站点地址为https。完成本节后,仍然有许多未加密的链接。这里可以运行sql命令,快速将站​​点上的http链接替换为https链接。如果你不明白,你可以使用 Velvet Blues Update URLs 插件来快速替换它们。替换完成后,即可卸载插件。使用方法如下图所示。

Nginx安装Ssl证书通过Https访问WordPress博客

在第一个框中输入http://xxx.com,然后在第二个框中输入https://xxx.com,并具体输入您的域名

3。替换 Gravatar 头像来源

说到 http 附加组件,gravatar 头像也很重要。博主这里提供了一个头像缓存服务器,可以通过加密链接访问。只需将以下代码添加到主题functions.php即可。

123456//头像sslfunction get_ssl_avatar($avatar) {$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','',$avatar);return $avatar;}add_filter('get_avatar', 'get_ssl_avatar');

4.使用301强制https访问

通过nginxRewrite规则可以轻松控制所有http访问https,即无论打开哪个页面都会跳转到https页面。实现方法是下面的代码。只需将这些添加到 nginx 重写规则中即可。

123456789101112if ($server_port !~ "^443$"){set $rule_0 1$rule_0;}if ($http_user_agent !~* "MSIE/[1-8]."){set $rule_0 2$rule_0; }if ($http_host ~ "xxx.com"){设置$rule_0 3$rule_0;}if ($rule_0 = "321"){重写^/.*$ https://xxx.com$uri permanent;}

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门