首先我自己的网站 https://www.ttwinbug.com
未添加证书时的访问地址 http://www.ttwinbug.com
证书申请
自己的网站想升级为https的安全模式,首先要去申请SSL证书
这里推荐 景安网络的免费SSL证书
http://www.zzidc.com/main/huodong/freessl.html
注册及申请,这里就不具体说明了。
申请后,你会得到一个压缩包,里面包含3个证书文件。
你可以按照我以前的帖子进行在Ubuntu服务器中进行设置
请参照
Ubuntu 下安装支持SSL的Apache环境
Ubuntu 通过安装SSL证书,解决iOS, OTA下载的问题
这里附上本人的配置
1 | <VirtualHost *:443> |
服务器配置好后,我们进行下一步
Discuz! X3.3站点部署SSL后兼容HTTPS访问
1、修改source/class/discuz/discuz_application.php(第187行)
将
1 | $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false; |
修改为:
1 | $_G['isHTTPS'] = true; |
2、修改uc_server/avatar.php(就在头几行)
将
1 | define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); |
修改为:
1 | define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); |
3、修改/template/default/common/header.htm
将http://全部查找替换为:https://(一共5处)
4、后台 – 全局 – 站点信息 – 网站 URL:将http://改成https://网址
5、后台 – 站长 – UCenter设置 – UCenter 访问地址改成https://网址
6、后台 – UCenter(如果不能正常访问可以在新窗口打开,也可以直接访问UC地址) – 应用管理 – 点右边的编辑 – 应用的主URL改成https://网址
7、后台 – 工具 – 更新缓存
8、后台 – 界面 – 风格,点击“更新CSS缓存”按钮
到这里为止可以说基本上https访问已经没有问题了。………but
http://www.ttwinbug.com会跳到其他人的网站上,未解决此问题,我们需要修改2个地方。
A. 将网站根目录下的 .htaccess文件修改,添加如下代码
1 | RewriteCond %{SERVER_PORT} !^443$ |
B. 修改/etc/apache2/site-available/xxx.conf (你自己的配置文件中)
添加相应的配置代码
1 | <VirtualHost *:443> |
请仔细对比和上面的配置文件。这时候,无论你是http://www.ttwinbug.com还是 https://www.ttwinbug.com
都直接进入https://www.ttwinbug.com
最后提供两个平滑重启的命令
Apache
1 | apachectl -k graceful |
Nginx
1 | nginx -s reload |