1。确认主机是否支持SSL证书的安装。如果要安装SSL证书,首先要看你的网站主机是否支持安装。安装之前最好咨询一下你的主机客服。目前很多共享虚拟主机都不支持,但是用VPS搭建网站环境当然是可以的。
2。准备SSL证书。目前有很多免费的SSL证书可供申请。芒果云服务推出阿里云、七牛云免费申请赛门铁克DVSSL证书。可以参考教程:【阿里云免费SSL】0元购买阿里云赛门铁克DVSSL证书,【七牛云免费SSL】免费申请价值1900元/年的赛门铁克DVSSL证书,腾讯云免费DVSSL证书申请和第三方SSL证书托管教程。
3。SSL证书应该安装正确。推荐你去看看阿里云的SSL证书安装教程,很详细很全面。目前有Linux系统Nginx、Apache、Tomcat环境下的安装教程,也有Windows系统IIS6、IIS8环境下的教程。可以通过芒果云服务的【阿里云免费SSL】0元购买阿里云赛门铁克DVSSL证书教程,申请证书,查看教程。
4。关闭CDN加速服务。如果安装SSL证书后使用https访问站点,必须先关闭CDN加速服务。目前国内的百度云加速和安全宝的httpsCDN加速都是收费的。如果开启免费CDN加速,即使证书安装正确也无法正常访问。
如何为自己的WordPress站点安装SSL证书开启https访问:我们谈到了在不同的环境下安装SSL证书,安装方法是不同的。目前Linux系统Nginx,Apache,Tomcat,Windows系统IIS6,IIS8环境是主流。其中,Linux系统的应用最为广泛,而Nginx和Nginx+Apache环境的应用最为普遍。在Nginx、Nginx+Apache环境中安装SSL证书只能通过修改nginx.conf文件来完成。本文主要介绍如何在Nginx,Nginx+Apache环境下正确安装SSL证书。
1.证书申请后,我们就可以得到证书内容和私钥了。阿里云申请了Symantec)DVSSL证书后,我们可以直接下载证书内容。pem和私钥。关键文件。但是也有类似七牛云申请Symantec)DVSSL证书的情况,但是我们得到的是证书内容和私钥内容代码,所以需要把它做成证书文件。其实制作很简单。我们可以使用腾讯云的第三方SSL证书托管来自动生成证书文件。可以查看以下教程:腾讯云免费DVSSL证书申请和第三方SSL证书托管教程。
2.如前所述,在Nginx,Nginx+Apache环境下安装SSL证书,只需修改nginx.conf文件即可完成。首先,我们找到Nginx的安装目录,然后找到。conf/vhost中您的站点的conf。如下图所示,芒果云服务在使用wdCP快速建立VPS网站管理系统中可以找到www.zzzvc.com.conf。当然,每个管理系统的文件存储位置不完全一样,但大致相同。
3.找到地点后。conf,下载到本地用记事本打开(如果支持在线编辑,也可以用在线编辑修改)。将里面的内容修改为以下内容。其中/www/wdLinux/nginx-1.8.1/conf/213973600170055.PEM和/www/wdLinux/nginx-1.8.1/conf/213973600170055.key都修改为自己上传的路径。pem.key文件。下面内容中的红字是用来提示你写的。为了防止重复提示,您必须添加它。一般是在原始凭证中没有标红字的。我们最好不要碰它。复制后可以删除用于提示的红字。另外,需要注意的是,这里的内容不能重复,一旦重复就会出错,尤其是root和server_name。很多朋友发现自己按照修改后重启nginx后报错,大部分都是因为内容重复或者nginx安装目录中的nginx.conf文件被修改。我们要修改的是/conf/vhost中的site.conf,位置一定要找对。
服务器{
监听80;#如果以后要设置htpp访问跳转到https,请在此删除此端口,否则保留。
听443;#需要添加
root/www/web/www_wn789_com/public_html;
服务器名www.zzzvc.com·www.789wn.com·789wn.com·wn789.com;
索引index.htmlindex.phpindex.htm;
error_page400/errpage/400.html;
error_page403/errpage/403.html;
error_page404/errpage/404.html;
error_page503/errpage/503.html;
ssl打开;#需要添加
SSL_certificate/www/wdLinux/nginx-1.8.1/conf/213973600170055.PEM;#需要补充(这是你的。pem文件地址)
SSL_certificate_key/www/wdLinux/nginx-1.8.1/conf/213973600170055.key;#需要补充(这是你的。密钥文件地址)
SSL_session_timeout5m;#您需要添加
SSL_ProtocolsSSLV2SSLV3TLSV1;#需要添加
ssl_ciphersALL:!ADH:!export56:RC4+RSA:+高:+中:+低:+SSLv2:+EXP;#您需要添加
SSL_prefere_server_cipherson;#需要添加
位置~\。PHP${
proxy_passhttp://127.0.0.1:88;
包含naproxy.conf
}
location~/\。ht{
全部拒绝;
}
location/{
try_files$uri@Apache;
}
location@Apache{
proxy_passhttp://127.0.0.1:88;
包含naproxy.conf
}
}
#如果您想将htpp访问设置为跳转到https,请添加以下内容
服务器{
监听80;
服务器名www.zzzvc.com·www.789wn.com·789wn.com·wn789.com;#此域名是您自己的域名,请修改
重写/(。*)https://www.zzzvc.com/永久居民;#此域名是您自己的域名,请修改
}
4.之后。修改了conf文件,将端口443添加到iptables访问规则配置中。
5.配置后重启nginx。有些可以直接在管理面板重启nginx。如果没有,我们就用Putty管理工具发送重启命令“servicenginxdrestart”来完成重启。至于如何使用Putty,请看如何使用Putty管理Linux系统的VPS和如何使用wdCP快速搭建VPS网站管理系统。下图显示正常重启成功。
如何解决WordPress使用https访问后会出现页面错乱:用https访问后,WordPress站点会出现页面混乱。我们可以通过修改站点wp-config.php、wp-includes/post.php和数据库选项表中siteurl和home的option_value值来做到这一点。
1.修改配置文件wp-config.php。在wp-config.php中添加以下代码,将WordPress目录更改为相对路径。
/*WordPress目录被更改为相对路径*/
$home='http://'。$_SERVER['HTTP_HOST'];
$siteurl='http://'。$_SERVER['HTTP_HOST'];
define('WP_HOME',$HOME);
define('WP_SITEURL',$SITEURL);
2.将数据库中“wp_options”表中home的siteurl和option_value改为“/”。
3.修改wp-includes/post.php文件,并将函数wp_get_attachment_url修改为以下代码:
函数WP_get_attachment_URL($post_id=0){
$FILE_dir=dirname(__FILE__);
$SERVER_ROOT=$_SERVER[DOCUMENT_ROOT];
$file_dir=substr($file_dir,strlen($server_root));
$file_dir=substr($file_dir,0,-12);
if($file_dir!="{
$file_dir='/'。substr($file_dir,1);
}
$post_id=(int)$post_id;
如果(!$post=&get_post($post_id))
返回false
$URL=";
if($file=get_post_meta($post->;ID,'_wp_attached_file',true)){
//Getattachedfile
if(($uploads=WP_upload_dir())&;&false===$uploads['error']){
//Getuploaddirectory
if(0===strpos($file,$uploads['basedir'])
//检查文件位置中是否存在上载基
//$URL=str_replace($uploads['basedir'],$uploads['baseurl'],$file);
//用url位置替换文件位置
$url=$file_dir。/wp-content/uploads/'。$file
elseif(false!==strpos($file,'WP-content/uploads')
//$URL=$uploads['baseURL']。substr($file,strpos($file,'WP-content/uploads')+18);
$url=$file_dir。/wp-content/uploads/'。$file
else
//$URL=$uploads['baseURL']。"/$file";
//这是一个新上传的文件,因此$file是相对于basedir的。
$url=$file_dir。/wp-content/uploads/'。$file
}
}
If(empty($URL))
//如果上述任何选项失败,则回退到2.7之前使用的GUID,不建议依赖于此。
$URL=get_the_guid($post->;ID);
if('附件'!=$post->;post_type||empty($url))
返回false
returnapply_filters('WP_get_attachment_URL',$url,$post->;ID);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)