请选择 进入手机版 | 继续访问电脑版

巅峰霸主

 找回密码
 立即注册

QQ登录

只需一步,快速开始

discuz X3.4开启https访问全站ssl加密访问IIS设置证书安装方法

[复制链接]
烈火大地 发表于 2017-10-11 17:25:42 | 显示全部楼层 |阅读模式

游客只能显示部分内容,请登录后查看帖子完整内容!!!注册完全免费。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
discuz X3.4版本已经全面支持https访问咯,设置相当简单,discuz X3.4开启全站https访问比起之前的3.3或3.2及更老的版本就方便多了,敢写discuz官方升级啊。ssl加密访问可以让网站更加完全,不过在一些设置上可能你和我一样也会遇到一些小麻烦,不过没关系,分享一下我的经验。

discuz X3.4可以直接开启https访问,不需要修改代码,只要配置好久行,我使用的是Windows server 2008 r2操作系统,IIS7.5版本。首先你需要获得ssl加密的证书文件,证书哪里有,这个看你在哪里买的了,目前腾讯云和阿里云都有免费证书,可以去申请,不过也可以买付费的证书,证书自己去搞了,弄到了证书以后就是安装证书,https证书安装方法请参考这一篇关于证书的安装详解:

windows server 2008  IIS7/7.5/8导入证书CA ssl证书安装绑定域名方法
https://www.dfbazhu.com/thread-1744-1-1.html
(出处: 巅峰霸主)

ca88.png
安装好了证书以后,输入带https的域名访问你的论坛,是不是可以了呢?不,还没有完成,还需要登录网站后台,在全局---站点信息 里面将网站URL原来的没有https加上,下图所示:
ca.png
然后在后台 站长---UCenter设置---UCenter访问地址,将原来的网址加上https,下图所示:
ca113-5.png


在进入后台---UCenter---应用管理---点击论坛的链接“编辑”,下图所示
ca113-6.png

仍然是把原来的网址加上https,下图所示
ca113-7.png

这样设置完成以后就可以,网站站大部分的链接默认页都变成https开头了,而且浏览器上面也会湿绿色的安全提示呢。但是还有一个地方有问题,那就是用户如果使用不带https的网址访问网站,此时不会自动跳转到ssl加密的https的网址上;同时点击网站logo的链接也是没有https的!此时点击网站的logo链接会跳转到没有ssl加密的非https链接,解决方法是使用URL重写的方法,URL重写可以保证不论用户是在浏览器地址栏输入不带https的网址或者点击了不带https的链接都能自动跳转到带有https的网址上面,因为很多网站可能都开启URL伪静态吧,进入你的论坛网站的跟目录,找到web.config文件打开,查找代码:
  1. </defaultDocument>
  2.         <rewrite>
  3.             <rules>
复制代码
在上面代码的后面添加如下代码:
  1. <rule name="HTTP to HTTPS redirect" stopProcessing="true">
  2. <match url="(.*)" />
  3. <conditions>
  4. <add input="{HTTPS}" pattern="off" ignoreCase="true" />
  5. </conditions>
  6. <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
  7. </rule>
复制代码



这样配置就完成了。下面是web.config的完整文件,红色部分就是上面添加的,其他是URL重写规则:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="index.php" />
                <add value="default.php" />
            </files>
        </defaultDocument>
        <rewrite>
            <rules>

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>

                <rule name="Imported Rule 1">
                    <match url="^topic-(.+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="portal.php?mod=topic&topic={R:1}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 2">
                    <match url="^article-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="portal.php?mod=view&aid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 3">
                    <match url="^forum-(\w+)-([0-9]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="forum.php?mod=forumdisplay&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 4">
                    <match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="forum.php?mod=viewthread&tid={R:1}&extra=page\%3D{R:3}&page={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 5">
                    <match url="^group-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="forum.php?mod=group&fid={R:1}&page={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 6">
                    <match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="home.php?mod=space&{R:1}={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 7">
                    <match url="^blog-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="home.php?mod=space&uid={R:1}&do=blog&id={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 8">
                    <match url="^archiver/(fid|tid)-([0-9]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="archiver/index.php?action={R:1}&value={R:2}&{C:1}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 9">
                    <match url="^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="plugin.php?id={R:1}:{R:2}&{C:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
        <httpErrors defaultResponseMode="File">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" prefixLanguageFilePath="" path="404.html" responseMode="File" />
        </httpErrors>
    </system.webServer>
</configuration>

最后把网站logo地方不是https的链接也修改成带有https的链接,打开discuz论坛根目录template/default/common/header.htm文件,查找以下代码(约125行左右):
  1. ['default']}http://{$_G['setting']['domain']['app']['default']}/{else}./{/if}" title="$_G['setting']['bbname']">{$_G['style']
复制代码
将上面代码中的http://修改为https://,这样全站修改就全部完毕了。


全站默认都是https加密访问的了,网站不需要修改任何代码,只要配置好就没有问题。如果使用https访问浏览器上面任然还有感叹号可以卸载discuz X3.4的云平台(怎么卸载?升级或安装的时候官方有说明呢)。完毕。


                               
登录/注册后可看大图



最后还有一点问题,那就是不带www的网址也要自动跳转到带www且有https的网址上面,这个大家可以看看你原来的不带www的网址是怎么自动跳转到带www域名上面的。我的方法是解析不带www的域名到一个名为301的文件夹,完后在301这个文件夹里面创建一个名为“web.config”的文件(下图)并打开:
ca115.png

在web.config文件里面输入以下代码:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3.     <system.webServer>
  4.         <httpRedirect enabled="true" destination="https://www.dfbazhu.com/" exactDestination="false" childOnly="false" httpResponseStatus="Permanent" />
  5.         <defaultDocument>
  6.             <files>
  7.                 <add value="index.php" />
  8.                 <add value="default.php" />
  9.             </files>
  10.         </defaultDocument>
  11.         <httpErrors>
  12.             <remove statusCode="404" subStatusCode="-1" />
  13.             <error statusCode="404" prefixLanguageFilePath="" path="404.html" responseMode="File" />
  14.         </httpErrors>
  15.     </system.webServer>
  16. </configuration>
复制代码
将其中的网址修改为你的网址即可,在没有添加https之前,是没有https的网址,使用了ssl证书加密后就是在原来网址上加上https,让不带www的网址默认直接跳转到带有https并且是加了www的域名上面。这样问题就全部解决了,打开看看浏览器上是不是有绿色小锁了,我的就是这样设置的,不过有个别的帖子的网址会显示感叹号,发现是因为有站外的非https的链接在帖子内容里面,这个可以考虑将非本站的链接转换为内链,这样就可以了。

是不是很简单呢,真心感谢discuz官方的升级,discuz X3.3及以前的老版本需要修改代码才能解决ssl证书加密访问,建议升级后配置。



回复

使用道具 举报

godkings 发表于 2019-3-7 14:48:29 | 显示全部楼层
如默 发表于 2018-5-19 21:15
你好,我按照你的教程部署了ssl,然后在后台修改地址,修改完之后,ucenter通信失败。。。是怎么回事?有没 ...

建议升级到最新版本,从dz官方的gitee上下载的最新版程序配置已经相当简单了可以查看此贴https://www.dfbazhu.com/thread-2120-1-1.html,简单几步就大功告成了,不用修改什么代码,配置好ssl证书,把footer上的几个非https的链接改为https的,然后删除友情链接就可以了,官方在升级后做了很大的调整,同时也解决了UCenter通信失败的问题,UCenter通信失败在之前的版本中一直有这个问题。
回复 支持 反对

使用道具 举报

hgdfbz 发表于 2017-12-19 16:50:48 | 显示全部楼层
本帖最后由 hgdfbz 于 2017-12-19 16:53 编辑

可你自己的网站不是绿色,如图
未命名.JPG


未命名.JPG
回复 支持 反对

使用道具 举报

 楼主| 烈火大地 发表于 2017-12-19 17:46:53 | 显示全部楼层
hgdfbz 发表于 2017-12-19 16:50
可你自己的网站不是绿色,如图

是绿色的呢,你用的什么浏览器还敢不显示绿色:lol
谷歌浏览:

谷歌

谷歌


火狐浏览器
111-2.png

360浏览器也是绿色的小锁呢
回复 支持 反对

使用道具 举报

hgdfbz 发表于 2017-12-19 18:49:35 | 显示全部楼层
烈火大地 发表于 2017-12-19 17:46
是绿色的呢,你用的什么浏览器还敢不显示绿色
谷歌浏览:

我是谷歌浏览器最新版,
看来,3.4还不是很完美
回复 支持 反对

使用道具 举报

 楼主| 烈火大地 发表于 2017-12-20 00:05:15 | 显示全部楼层
hgdfbz 发表于 2017-12-19 18:49
我是谷歌浏览器最新版,
看来,3.4还不是很完美

要用https还就得升级到X3.4,基本上没有什么问题,不显示绿色小锁一般是因为用户发帖时在帖子内容里面包含了不带https的链接
回复 支持 反对

使用道具 举报

hgdfbz 发表于 2017-12-28 10:25:29 | 显示全部楼层
烈火大地 发表于 2017-12-20 00:05
要用https还就得升级到X3.4,基本上没有什么问题,不显示绿色小锁一般是因为用户发帖时在帖子内容里面包 ...

你这不就是3.4吗,而且这个帖子里没有人发外链,但还是黑色,没有绿色小锁的,你好好找好原因看看?请问你的证书是哪里的?
回复 支持 反对

使用道具 举报

hgdfbz 发表于 2017-12-28 10:27:16 | 显示全部楼层
还有就是我用手机访问也是黑色
回复 支持 反对

使用道具 举报

hgdfbz 发表于 2017-12-28 10:30:22 | 显示全部楼层
我刷新了一下,刚开始绿色,然后过一会又跳转至黑色了
回复 支持 反对

使用道具 举报

hgdfbz 发表于 2017-12-28 10:34:09 | 显示全部楼层
有没有qq号,交流交流?
回复 支持 反对

使用道具 举报

如默 发表于 2018-5-19 21:15:20 | 显示全部楼层
你好,我按照你的教程部署了ssl,然后在后台修改地址,修改完之后,ucenter通信失败。。。是怎么回事?有没有QQ,可以交流下吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|巅峰霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与巅峰霸主网无关。

禁止在巅峰霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2019-5-24 15:40 , Processed in 0.068267 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表