SSL配置中的坑
1、域名https访问显示:此站点有一个由受信任的颁发机构颁发的有效证书。 但是,网站的某些部分不安全。这意味着信息 (如密码或信用卡) 可能不会安全地发送到此站点,并可能被其他人截获或查看。
解决办法:
在Typecho根目录中的config.inc.php下加入
/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);
如果问题没有解决,按照下面操作:
1、在控制台中选择【设置】 -> 【基本】 -> 【站点地址】中设置成对应的https网站。
2、在控制台中选择【控制台】 -> 【个人设置】 -> 【个人主页地址】 中设置成对应的https网站。
问题分析:
产生问题的原因是我的备案时间比较长,备案期间域名不能使用,我先把网站搭建起来并申请https证书,在备案期间访问显示不安全的原因是由于证书域名和网站不对应导致的。备案完成后由于在配置过程中的站点地址信息中都是填的ip地址。在备案完成后,访问网站请求资源使用的是 https://+ip+资源 ,导致出现如上安全问题,修改后,资源请求就变成了https://+域名+资源,问题解决。
2、配置好证书以后,通过域名访问显示是安全的,通过ip访问显示不安全。
解决办法:
关闭nginx的ip访问,按照如下操作
1、删除掉我们原先的server{ server_name} 中的ip地址。如果存在的话就进行删除,如果不存在就保持不变即可。
2、在我们的/etc/nginx/conf.d/default.conf文件中进行添加以下的配置即可:(PS:如果没有这个路径,那么可以添加到/etc/nginx/nginx.conf文件中,效果是一样的)。
server {
listen 80 default_server;
listen 443 default_server;
server_tokens off;
server_name _;
return 444;
ssl_certificate_key 我们自己的SSL证书全路径.key;
ssl_certificate 我们自己的SSL证书全路径.pem;
}
详细解析:
default_server; 代表默认无匹配的时候由当前的server处理。
server_name _;代表无效域名。
合起来的意思就是,其他server没有匹配的,全部由当前server进行匹配处理。
该server匹配到之后,处理的结果就是直接返回444状态
而前端收到的效果就是ERR_EMPTY_RESPONSE错误了。
配置完毕后输入nginx -t 检测通过后,通过service nginx reload刷新配置就可以生效了。
这个时候我们通过http://ip 或者https://ip 都将无法正确访问了。所有的访问就必须通过域名才能访问了,通过ip地址的请求都将会打回。
问题:
配置完毕后,通过https://ip 和 http://ip 访问的确返回了444状态。但是如果我通过http://ip:443却不会返回444。而是返回400。没有找到解决方法,只是为了避免该页面上暴露nginx的版本号,添加了 server_tokens off;选项。这个问题影响也不大。
备案过程中的坑
网站需要两种备案,一种是ICP备案,一种是公安备案。
ICP备案如果选择和身份户口不一样的省份,还需要额外准备一些材料
公安备案审核的时间长一些,在填写资料的时候要注意!!
公安备案一定要在ICP备案完成后才可以备案
公安备案还需要查询网站的 “接入商信息 ”和 “域名注册服务商信息”
其中,“域名注册服务商信息” 通过whois工具查询,阿里云的 “接入商信息” 通过阿里云的智能客服获取。

接入商信息