HTTP 可以工作 HTTPS 不工作

HTTP 可以工作 HTTPS 不工作

我在 CentOS 6.7 和 Apache/2.2.15 上设置了 Comodo SSL,我们在服务器上运行 CakePHP 应用程序。当我访问 http/domain 时,它可以正常工作,但当我访问 httpS/domain 时,它显示 404 Not Found(即使我看到绿色的锁定图标和 https)。

这是我的 etc/httpd/conf/httpd.conf 文件的一部分:

Include conf.d/*.conf 
Listen 80
<VirtualHost *:80>
ServerAdmin info@domain
DocumentRoot /var/www/vhosts/domain/httpdocs/app/webroot/
ServerName domain
<Directory /var/www/vhosts/domain/httpdocs>
    Allowoverride All
</Directory>
</VirtualHost>

并且 /etc/httpd/conf.d/ssl.conf 包含:

Listen 443
<VirtualHost *:443>
DocumentRoot /var/www/vhosts/domain/httpdocs/app/webroot/
ServerName domain
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/domain.crt
SSLCertificateKeyFile /etc/httpd/ssl/private.key
SSLCertificateChainFile /etc/httpd/ssl/domain.ca-bundle
</VirtualHost>

我已经多次停止和启动 httpd,并且尝试了 httpS/domain:80,但出现错误:此网页不可用 (ERR_CONNECTION_CLOSED)。

DocumentRoot 可以相同吗?如果不相同,那么我该如何处理,因为将我们的应用程序代码复制/粘贴到另一个文件夹中是不可行的。

对我做错的事情有什么想法吗?

答案1

我改成<VirtualHost *:443><VirtualHost domain.com:443>并且它有效。

答案2

看看这个:http://nginx.org/en/docs/http/ngx_http_ssl_module.html#example

 server {
        listen              443 ssl;
        keepalive_timeout   70;

        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
        ssl_certificate     /usr/local/nginx/conf/cert.pem;
        ssl_certificate_key /usr/local/nginx/conf/cert.key;
        ssl_session_cache   shared:SSL:10m;
        ssl_session_timeout 10m;

    }

尤其:

  listen              443 ssl;
   ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;

相关内容