使用OpenSUSE / Yast使用/ SSL设置Apache

时间:2014-07-22 13:14:27

标签: apache ssl opensuse

当我尝试在OpenSUSE桌面上设置SSL时,我遇到了大问题。

通常,apache正在侦听端口443,但是当我尝试去

https://localhost 

浏览器报告SSL问题:“ssl_error_rx_record_too_long”。当我尝试去我的机器上创建的任何vhost时(同样我的所有vhost都是基于ip的),同样的情况也会发生 我可以通过以下方式手动解决问题:

cd /etc/apache2/vhosts.d
cp vhost-ssl.template mySSL-host.conf
apache2ctl restart

解决了我的https问题,但是所有的虚拟主机都消失了,它们都指向了localhost。 当我重新启动YaST时 - vhosts重新出现,但mySSL-host.conf文件消失,并且https问题返回。

使用YaST使用vhost设置SSL的正确方法是什么,或者至少如何使其与YaST兼容?

1 个答案:

答案 0 :(得分:0)

ssl_error_rx_record_too_long表示配置错误的证书。

确保您的系统中安装了正确的SSL证书。 如果没有这些,HTTPS将无法运行。你可以从startssl.com这样的公司获得它们

确保您已启用SSL标记:

(suse specific)

a2enflag SSL
a2disflag NOSSL

现在让我们看一下/etc/apache2/vhosts.d/mysslhost.conf中的示例配置

<VirtualHost *:443>

        #  General setup for the virtual host
        DocumentRoot "/srv/www/mysite/"
        ServerName www.mysite.com
        ServerAdmin webmaster@mysite.com
        ErrorLog /var/log/apache2/error_log
        TransferLog /var/log/apache2/access_log
<Directory />
 Options FollowSymLinks
 AllowOverride None
</Directory>

 <Directory /srv/www/mysite/>
  Options +FollowSymlinks
  Order allow,deny
  Allow from all
 </Directory>


 SSLEngine on
 SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM  EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384  EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA 3DES RC4 !aNULL !eNULL  !LOW !MD5 !EXP !PSK !SRP !DSS +3DES 3DES +RC4 RC4"
 SSLHonorCipherOrder on
 SSLCertificateFile /etc/apache2/ssl/ssl.crt
 SSLCertificateKeyFile /etc/apache2/ssl/ssl.nopassword.key
 SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
 SSLCACertificateFile /etc/apache2/ssl/ca.pem

#SSLUseStapling on
#SSLStaplingResponderTimeout 5
#SSLStaplingReturnResponderErrors off


 CustomLog /var/log/apache2/access.log combined
 ServerSignature On
</VirtualHost>

</IfDefine>
</IfDefine>

然后运行rcapache2 restart