linux nginx服务器环境discuz论坛开启ssl设置完整教程

discuz程序好像在windows iis系统服务器下可以兼容ssl,但是liunx系统就不行了,需要修改文件代码。 证书申请同样省略了,我不推荐用免费的证书,虽然个人用用也不错了。 discuz程序对ssl的支持真的太烂了,如果论坛不是很重要就别折腾吧,discuz官方也指不定要等到什么时候才会更新。 我是nginx独立服务器环境,就以这个为例了。 1:修改文件 source/class/discuz/discuz_application.php里面的 $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false; 修改为 $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false; 还有uc_server/avatar.php里面的 define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); 修改为 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'], '/'))));

2:修改网站后台设置,这里的uc要是不修改,头像不能用。 ⑴:后台 > 全局 > 网站url设置改为带https的网址 ⑵:后台 > 全局 > 域名设置 ,这里面如果设置了默认网址就删掉 ⑶:后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https ⑷:UCenter后台 > 应用管理 > 应用的主URL,修改为https 3:修改 source/plugin/manyou/Service/DiscuzTips.php文件 在最下面,删掉或者注释这句,这是判断网站补丁啥的,如果不删,浏览器就会提示不安全的加载 echo $jsCode; 4:插件和js、css问题 很多插件不能自动转为https,以及部分插件调用了百度或者其他网站的js、css文件,那么这个就要你自己找到这个插件,把链接前面的http都修改为https了。 如果是js或者css,你可以把远程调用的文件下载到本地,然后修改本地文件的路径。由于每个插件不同,就不说了。 5:修改网站之前的http链接为https 这里最好去数据库批量修改,只需修改pre_forum_post数据表就行了,找到对应的数据库执行sql语句 UPDATE pre_forum_post SET message=REPLACE(message,’http://旧网址.com’,’https://新网址.com’); 6:修改nginx配置,让其强制跳转到https,做301跳转。把代码放到网站对应监听的80端口里面就行了。 可以这样 location / { return 301 https://域名.com$request_uri;        } 也可以这样 rewrite ^ https://域名.com$request_uri? permanent; ssl的配置也要在这里写好, server { listen 443 ssl; server_name 域名; ssl on; ssl_certificate /域名crt路径; ssl_certificate_key /域名key路径; ssl_prefer_server_ciphers on; 7:网站后台更新缓存、重启nginx环境,应该就没啥问题了,普通用户用用就可以了。

ssl

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hadoop实操

如何配置Kerberos服务的高可用

在前面的文章中Fayson介绍过《如何在CDH集群启用Kerberos》,对于一个启用了Kerberos的正式生产系统,还需要考虑KDC的高可用。而Kerber...

74990
来自专栏北京马哥教育

CentOS下MySQL移至MariaDB

Google都将MySQL移至MariaDB了,我的朋友也Ubuntu下移至MariaDB,我还是不能落后吧,今天将CentOS下MySQL移至MariaDB...

31470
来自专栏Python小屋

使用Python开发SQLite代理服务器

SQLite数据库使用单个磁盘文件,并且不需要像Oracle、MSSQL、MySQL等数据库管理系统那样启动服务,使用非常灵活方便。但是SQLite也有个很严重...

45160
来自专栏云计算

如何在Debian 9上设置MariaDB

MariaDB是MySQL的直接替代品。它致力于成为寻求强大,可扩展且可靠的SQL Server的数据库专业人员的合理选择。本指南将帮助初学者在Debian 9...

1.3K30
来自专栏乐沙弥的世界

快速体验MyCAT

横空出世的MyCat截至到2015年4月,保守估计已经有超过60个项目在使用,主要应用在电信领域、互联网项目,大部分是交易和管理系统,少量是信息...

23910
来自专栏杨熹的专栏

图解Mac下如何安装管理MySQL

---- 下载安装MySQL 1.访问MySQL官网:http://dev.mysql.com/downloads/ 2.下载 MySQL Community ...

48040
来自专栏乐沙弥的世界

MySQL 数据库的启动与关闭

    MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆。通常启动mysql服务器即是启动my...

33840
来自专栏乐沙弥的世界

记一次SQL server 2005 到SQL server 2008 数据库迁移

    最近周末完成了一个从SQL server 2005升级到SQL server 2008的升级迁移,其实质是一个服务器迁移的过程。比较复杂的是这个服务器上...

19740
来自专栏祝威廉

StreamingPro SQL Server 支持异步导出数据

StreamingPro可以很容易让你搭建一个Spark SQL Server 服务,并且提供Http 格式的接口进行交互。通常查询结果较小,但是如果用户的SQ...

10330
来自专栏行者常至

(三)solr的dataimport的配置以及中文分词

并可以在apache-tomcat-7.0.73\webapps\solr\WEB-INF\classes下新建自己的扩展词典

20110

扫码关注云+社区

领取腾讯云代金券