GitLab + WordPress 使用HTTPS

2016年4月17日01:07:39 更新GitLab部分

最近几个经常光顾的网站陆续都升级上https,连一些个人博客都上了,这次我也跟风搞下

对于商业网站来说,很多的是看重安全吧?对于个人来说,逼格才是重中之重,哈哈~

目前找了两家比较多人用而且免费的证书颁发机构,StartSSL和沃通,前者免费一年,后者则为两年

还有个叫letsencrypt,这个暂时没去看过,不做描述

此处我选择了startssl,先试试升级会遇到什么问题,如果都解决好的话,第二年就考虑切换成付费的证书

条件允许的话,尽量选择更好的付费服务,别忘记“免费是最贵的”

至于申请过程什么的,网上有很多教程,步骤不是很多,自行搜索

申请过后,手头上就会有3个段文本,分别是key、csr、crt

key:密钥

csr:证书请求

crt:网站颁发的证书

申请成功后csr就没什么用,我们用的只有两个key和crt,我的网站托管在主机壳上,所以得先在上面设置下

相关提示很清晰,不解释

完了后,在到WordPress设置 -> 常规 中的博客网址都改成https开头

接着修改.htaccess文件,让非https的请求变成https,由于主机壳并不是用443端口,得按他的规则来

所以我的配置是酱紫

RewriteCond %{HTTP:KERSSL} !on
RewriteCond %{HTTP_USER_AGENT} !MSIE/[1-8]\. [NC]
RewriteCond %{HTTP_HOST} isempty.me
RewriteRule ^.*$ https://akru.plus%{REQUEST_URI} [L,R=301]

如果用的是443端口的话

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_USER_AGENT} !MSIE/[1-8]\. [NC]
RewriteCond %{HTTP_HOST} isempty.me
RewriteRule ^.*$ https://akru.plus%{REQUEST_URI} [L,R=301]

区别仅仅是第一行

接着修改现有文章中的图片链接,WordPress保存的文章都是绝对路径,操作前最好备份下数据库

UPDATE wp_posts SET post_content = Replace (post_content, 'https://akru.plus', 'https://akru.plus')

之前启用了七牛CDN,而七牛并不支持没有备案的域名使用HTTPS加速,这里得停掉他

其实已经在备案的路上,再次启用CDN的时候,那速度,萌萌哒

主机壳自带静态资源加速,速度也不错,影响不是很大

现在刷新下网页,如果地址栏只有灰色的小锁,检查下还有哪些资源没有换成https

要是连小锁的标志都没有,呵呵…..

WP Super Cache

没装这插件的忽略此部分

在完成上面操作后,无论怎么刷新网页和删除缓存,一些资源文件连接还是http,也试过停用缓存功能,问题依旧

最后整个插件停用,再启用,又可以了~~这,真让我无言以对

重启电脑可以解决90%的错误

GitLab

官方文档足够清晰,且操作也不是很复杂,简单说下吧

先上关于HTTPS部分的文档连接,其实都是在同一个地方……

基本配置

默认情况下,程序会按域名在/etc/gitlab/ssl文件夹中寻找“域名.key”、“域名.crt”两个文件,这里的域名就是external_url 的内容,不过别忘记改ssl文件夹的权限

注意:ssl文件夹是需要自行创建的,同时external_url也要改成https

http重定向https

只需要启用即可

nginx['redirect_http_to_https'] = true

自定义端口与存放位置

这部分我也没耍过,反正持有3个参数要改,没什么的啦

external_url "https://gitlab.example.com:2443"
nginx['ssl_certificate']="/etc/gitlab/ssl/gitlab.example.crt"
nginx['ssl_certificate_key']="/etc/gitlab/ssl/gitlab.example.com.key"

PS:改为https的时候注意下端口问题,我操作的时候忘记取消指定http端口,导致访问不了

发表回复

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