最近遇到一个问题,顾客需要网站后台加密,用https访问。当时认为很简单,就直接登入joomla的管理后台,在服务器的设置选项中将强制 SSL设置为“只是后台管理”。可是保存之后。发现出现页面无法找到。最后只得通过修改joomla根目录下的configuration.php文件。

public $force_ssl = '1'; =>public $force_ssl = '0';网站才恢复到原来的状态。这个问题该怎么解决呢?

很显然joomla的强制SSL不是这样简单的使用的。

查了一些资料,大致的意思是说https是安全的http数据传输,他的安全性主要是基于SSL的。如果要启用SSL通道,那么需要使用SSL证书来启用https协议。

在 网上找了一篇文章,大意思是怎样在Linux Apche服务器上创建自签名的SSL证书。原文地址:http://www.linux.com/learn/tutorials/392099- creating-self-signed-ssl-certificates-for-apache-on-linux

大致需要经过几个过程:

1 ,安装SSL模块

执行命令:yum install mod_ssl

2, 安装openssl

执行命令:yum install openssl

3, 产生CSR

执行命令:sudo openssl req -new > new.ssl.csr

执行这个命命令需要你输入一个密码,你要记住这个密码。随后的输入根据自己的情况随便输入就行了。注意最后两行

A challenge password []:Leave Blank

An optional company name []:Optional

维持空就行了。不然每次启动apache服务器都需要输出密码

4,产生证书

sudo openssl rsa -in privkey.pem  -out new.cert.key

sudo openssl x509 -in new.ssl.csr -out new.cert.cert -req -signkey new.cert.key -days 100

5, 拷贝证书到/etc/ssl目录,使得Apache可以找到他们。

sudo cp new.cert.cert /etc/ssl/certs/server.crt

sudo cp new.cert.key /etc/ssl/private/server.key

如果提示private目录不存在就自己创建。

6,配置apache

修改httpd.conf文件在后面加上

NameVirtualHost *:443
NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin email address here
    ServerName mydomain.net
    ServerAlias www.mydomain.net
    DocumentRoot /srv/www/mydomain.net/public_html/
    ErrorLog /srv/www/mydomain.net/logs/error.log
    CustomLog /srv/www/mydomain.net/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin 
 jzb@zonker.net
    ServerName mydomain.net
    ServerAlias www.mydomain.net
    DocumentRoot /srv/www/mydomain.net/public_html/

    ErrorLog /srv/www/mydomain.net/logs/error.log
    CustomLog /srv/www/mydomain.net/logs/access.log combined

    SSLEngine on
    SSLOptions +StrictRequire
    SSLCertificateFile /etc/ssl/certs/server.crt
    SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>



根据实际情况进行修改。


7,重启Apache

执行命令:service httpd restart



8,再次登入joomla管理后台=》服务器的设置选项中将强制SSL设置为“只是后台管理”。


现在访问网站:

出现这个页面说明https成功。


 



收藏
0个人 收藏

相关推荐


Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/www.zmax99.com/modules/mod_tags_similar/mod_tags_similar.php on line 24

关注Joomla中国微信公众号,随时获得最新的Joomla新闻资讯!