[su_note note_color="#faeb21" text_color="#0f0d0d"]2016年4月17日01:07:39 更新GitLab部分[/su_note]
最近几个经常光顾的网站陆续都升级上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加速,这里得停掉他
[su_note note_color="#faeb21" text_color="#0f0d0d"]其实已经在备案的路上,再次启用CDN的时候,那速度,萌萌哒[/su_note]
主机壳自带静态资源加速,速度也不错,影响不是很大
现在刷新下网页,如果地址栏只有灰色的小锁,检查下还有哪些资源没有换成https
要是连小锁的标志都没有,呵呵.....
WP Super Cache
没装这插件的忽略此部分
在完成上面操作后,无论怎么刷新网页和删除缓存,一些资源文件连接还是http,也试过停用缓存功能,问题依旧
最后整个插件停用,再启用,又可以了~~这,真让我无言以对
[su_quote]重启电脑可以解决90%的错误[/su_quote]
GitLab
官方文档足够清晰,且操作也不是很复杂,简单说下吧
先上关于HTTPS部分的文档连接,其实都是在同一个地方......
[su_list]
[/su_list]
基本配置
默认情况下,程序会按域名在/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端口,导致访问不了