【问题标题】:Why https:// and http//:443 works, but http does not with SSLEngine on?为什么 https:// 和 http//:443 有效,但 http 不支持 SSLEngine?
【发布时间】:2015-09-25 13:10:09
【问题描述】:

我正在尝试在 Ubuntu/Debian 中的虚拟主机上允许 HTTP 和 HTTPS。我正在使用默认的蛇油证书,并且在 SSLEngine 开启时出现以下错误。我的服务器名称是linuxturnkeylamp,我不知道.Belkin 是如何添加的,但我使用贝尔金路由器访问互联网。

[Tue Jul 07 20:13:21 2015] [warn] RSA server certificate CommonName (CN) `linuxturkeylamp.Belkin' does NOT match server name!?
[Tue Jul 07 20:13:21 2015] [error] python_init: Python version mismatch, expected '2.7.2+', found '2.7.3'.
[Tue Jul 07 20:13:21 2015] [error] python_init: Python executable found '/usr/bin/python'.
[Tue Jul 07 20:13:21 2015] [error] python_init: Python path being used '/usr/lib/python2.7/:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload'.
[Tue Jul 07 20:13:21 2015] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Tue Jul 07 20:13:21 2015] [notice] mod_python: using mutex_directory /tmp 
[Tue Jul 07 20:13:21 2015] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

apache2.conf 有ServerName linuxturnkeylamp,除了一个默认虚拟主机和一个用于 phpmyadmin 的虚拟主机,我唯一的另一个是...

<VirtualHost localdrupal.mydomain.com:*>
    DocumentRoot //home/myuser/mydomain/mydomain
    ServerName localdrupal.mydomain.com
    ServerAlias localdrupal.mydomain.com
    ServerAdmin myemail@gmail.com
    Alias /mobile "//home/myuser/mydomain/projectpath/www"
    Alias /mobile-app/plugins "//home/myuser/mydomain/cordova/cordova-mydomain/plugins"
    Alias /mobile-app "//home/myuser/mydomain/projectpath/www"
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory //home/myuser/mydomain/mydomain>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch "MSIE [2-6]" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>

我的 /etc/hosts 包括..

127.0.0.1 linuxturnkeylamp
192.168.56.100  localdrupal.tripchi.com

照原样,https://... 显示静态图像以及使用http://localdrupal.mydomain.com:443/image.png 请求时。但是,当请求 http://localdrupal.mydomain.com/image.png 我得到....

错误请求

您的浏览器发送了一个此服务器无法理解的请求。 原因:您对启用 SSL 的服务器端口使用纯 HTTP。 请改用 HTTPS 方案访问此 URL。

如果我更改为SSLEngine off,HTTPS 会显示SSL connection error,HTTP 会显示图像。

我做错了什么?我的默认虚拟主机是否必须包含有关 SSL 的任何内容?目前没有。

【问题讨论】:

    标签: apache virtualhost ports


    【解决方案1】:

    看来问题是在项目的 443 虚拟主机目录规范中,AllowOverride None 必须是 AllowOverride All。

    【讨论】:

      猜你喜欢
      • 2017-10-07
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 2015-09-15
      • 2019-02-11
      • 2015-06-03
      • 2012-03-24
      相关资源
      最近更新 更多