使用 OpenSUSE / Yast 设置 Apache w/SSL
Posted
技术标签:
【中文标题】使用 OpenSUSE / Yast 设置 Apache w/SSL【英文标题】:Setting up Apache w/SSL using OpenSUSE / Yast 【发布时间】:2014-07-22 13:14:26 【问题描述】:当我尝试在我的 OpenSUSE 桌面上设置 SSL 时遇到大问题。
一般来说,apache 是在监听 443 端口,但是当我尝试去
https://localhost
浏览器报告 SSL 问题:“ssl_error_rx_record_too_long”。当我尝试访问在我的机器上创建的任何虚拟主机时也会发生同样的情况(我所有的虚拟主机都是基于 ip 的) 我可以通过以下方式手动解决问题:
cd /etc/apache2/vhosts.d
cp vhost-ssl.template mySSL-host.conf
apache2ctl restart
这解决了我的 https 问题,但所有虚拟主机都消失了,它们都指向本地主机。 当我重新启动 YaST - vhosts 重新出现,但 mySSL-host.conf 文件消失,并返回 https 问题。
使用 YaST 与虚拟主机设置 SSL 的正确方法是什么,或者至少如何使其与 YaST 兼容?
【问题讨论】:
【参考方案1】:ssl_error_rx_record_too_long 表示证书配置错误。
确保您的系统中安装了正确的 SSL 证书。 没有这些,HTTPS 将无法运行。您可以从像startssl.com 这样的公司获得它们
确保您已启用 SSL 标志:
(特定于用户)
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
【讨论】:
以上是关于使用 OpenSUSE / Yast 设置 Apache w/SSL的主要内容,如果未能解决你的问题,请参考以下文章