我正在自己的Debian虚拟服务器上开发一个小型网站(Magento eshop)。 我在这个话题上并不是很先进。 服务器现在工作正常,最后剩下的问题是通过https协议进行SSL访问。
当我通过本地IP地址https://192.168.1.xxx访问服务器时,它工作。 但是当我通过https://www.mydomain.com访问它时,服务器不可用。 不过http:/ / 192.168.1.xxx和http:/ /www.mydomain.com运作良好。
可能是什么问题?
我的configuration文件:
ports.conf
NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
启用站点-/ Magento的
NameVirtualHost 192.168.1.124:80 <VirtualHost 192.168.1.124:80> ServerName www.mydomain.de ServerAdmin [email protected] DocumentRoot /var/www/magento <Directory /var/www/magento/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost>
启用站点-/ magento_ssl
NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin [email protected] ServerName www.mydomain.de ServerAlias *.mydomain.de SSLEngine On SSLCertificateFile /etc/apache2/ssl/edc.pem DocumentRoot /var/www/magento <Directory /var/www/magento> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> LogLevel warn ErrorLog /var/log/apache2/ssl-error.log CustomLog /var/log/apache2/ssl-access.log combined </VirtualHost>
为了帮助诊断,让我问几个问题。
当你说“服务器不可用”时:
openssl s_client -connect www.mydomain.de:443 (如果你不在unix盒子上,请尝试在你自己的vps上) /var/log/apache2/ssl-access.log或/var/log/apache2/ssl-error.log得到什么? 当你说它适用于https://192.168.1.xxx/ :
其他事情要检查:
/etc/apache2/ssl/edc.pem包含您的证书和私钥? Wil Tan:谢谢你的回应。
a)“经典”的Firefox错误信息 – 无法连接:Firefox无法build立到服务器www.mydomain.com的连接
b)这个命令的结果:connect:连接拒绝connect:errno = 29
c)这两个日志文件都是空的 – 不是很奇怪吗?
是的,浏览器显示这个证书的警告,因为它是自信的。 没关系,自信的证书对我来说已经足够了
确保你没有在https的情况下configuration代理
是的,https没有代理
/etc/apache2/ssl/edc.pem是否包含您的证书和私钥?
我尝试了新的方式来使证书 – http://grahamc.com/blog/openssl-madness-how-to-create-keys-certificate-signing-requests-authorities-and-pem-files/所以现在我有mydomain .com.crt,mydomain.com.key,mydomain.com.pem和mydomain.com.csr文件。
新的magento_ssl内容(更改的部分):
SSLEngine On SSLCertificateKeyFile ssl/mydomain.com.key SSLCertificateFile ssl/mydomain.com.crt
最好的祝福
卢卡斯
这是从当地单位进入的一般屏幕。
检查您的安全configuration的策略工具包和可能的防火墙限制的内部网或本地networking以外的地址。 本地解决策略可以覆盖任何操作系统中的宿主连接
检查您的本地网关检查通过端口433和HTTPS的安全exception,并看到正在协商的stream量。 除非你在做本地主机开发; 您可能需要检查请求的路由,看看它是否没有通过DHCP网关parsing。 (路由器…)
连接完成后检查文件日志,看看有没有其他的位,或者没有看到。 (例如,客户端导致错误;由于命名空间parsing困难,主机没有看到客户端)
检查您的VHost连接,检查目录权限和日志权限是否可以同等访问和(或拒绝,允许…)任何连接的安全性,他们似乎是最不同的。 也许尝试使用您的NameVirtualHost的文字名称。
检查以确保像本地移动电话或备用计算机(不是运行虚拟机的计算机)的连接可以看到该网站。 这有时会发生在VMWare,Citrix和其他networking适配器上。
(其他可能的冲突:是否有任何其他SSL服务器在运行,是否有任何FTP服务需要SSL连接来覆盖您的连接?)