Chuyển từ HTTP sang HTTPS với Apache2 không hoạt động


1

Tôi đang cố gắng thay đổi trang web apache2 hiện tại của mình từ http thành https bằng chứng chỉ tự ký trên Ubuntu 11. Trang web hiện đang chạy với cấu hình tại sites-available/default. Tôi đã làm theo tài liệu /usr/share/doc/apache2.2-common/README.Debian.gzvề cơ bản nói rằng cài đặt ssl-certgói (nó đã được cài đặt, vì vậy tôi đã chạy sudo make-ssl-cert generate-default-snakeoil --force-overwriteđể chắc chắn) và sau đó làm:

sudo a2dissite default
sudo a2enmod ssl
sudo a2ensite default-ssl

Tôi cập nhật sites-available/default-sslđể DocumentRootđiểm đến /var/siteX.mydomain.com.
Sau đó tôi chạy:

sudo service apache2 restart

Nhưng các yêu cầu của tôi đối với phiên bản http vẫn đang thành công và đang được phục vụ. Yêu cầu phiên bản https chỉ bị treo vô thời hạn. Tôi đã bỏ lỡ cái gì?

Chỉnh sửa:
FWIW, Có 6 trang web khác đang được apache2 phục vụ trên hộp này, ngoài trang web mà tôi gặp sự cố. Vì vậy, sites-enabledthư mục của tôi trông như:

default-ssl (symlink to sites-available/default-ssl - maps to siteX.mydomain.com)
siteA.mydomain.com
siteB.mydomain.com
siteC.mydomain.com
siteD.mydomain.com
siteE.mydomain.com
siteF.mydomain.com

Trong trang web khác [AF] .mydomain.com, không có tài liệu tham khảo đến trang webX.mydomain.com ở bất cứ đâu, vì vậy không ai trong số chúng được vô tình định cấu hình để tiếp tục phục vụ lưu lượng truy cập đến http://siteX.mydomain.com

Edit2:
Đây là đoạn trích từ đầu 000-default-ssltệp cấu hình của tôi (mọi thứ sau đây chỉ là nội dung mặc định mà tôi không chạm vào):

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    ServerName siteX.mydomain.com:443
    DocumentRoot /var/siteX.mydomain.com
    DirectoryIndex index.php 

Edit3:
Cập nhật với đầu ra củagrep -v \# 000-default-ssl | grep -Ev '^[ \t]*$'

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    ServerName siteX.mydomain.com:443
    DocumentRoot /var/siteX.mydomain.com

    DirectoryIndex index.php
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/siteX.mydomain.com/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
            Options +ExecCGI
            AddHandler cgi-script .pl
    </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
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
    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>
</IfModule>

Edit4:
Đây là nội dung củaports.conf

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    NameVirtualHost *:443  # I just added this now - still not working !!
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Bạn đã cấu hình bất kỳ trang web bổ sung ngoài "mặc định"?
NuTTyX

Có, có 5 hoặc 6 trang web được kích hoạt khác với các tệp cấu hình tương ứng của họ tại ví dụ: trang web được kích hoạt / sub.domain.com
RTF

Kiểm tra của bạn httpd.conf. Nên có một Listencảng 80. Nhận xét nó ra (thêm #vào lúc bắt đầu). Ngoài ra, hãy kiểm tra ssl mặc định của bạn để tải trước các trang web khác. Đổi tên nó thành 000-default-sslvà các tên khác thành 001, 002, v.v.
NuTTyX

Có an toàn không khi chỉ đổi tên các tập tin cấu hình cho mỗi trang web? Có điều gì khác cần phải được thực hiện nếu tôi làm điều đó? Nhưng ngay cả khi tôi ưu tiên cấu hình ssl mặc định, tại sao điều đó lại quan trọng? Không có cấu hình nào khác trong thư mục tham chiếu trang web mà tôi gặp sự cố, vì vậy sẽ không có xung đột. Các a2dissite defaultlệnh vô hiệu hóa các trang web http / config. Ngoài ra, tôi http.confhoàn toàn trống rỗng.
RTF

xóa symlink trên sites-enabled, đổi tên default-sslthành 000-default-sslon sites-availablesudo a2ensite 000-default-ssl. Khởi động lại apache và kiểm tra lại
NuTTyX
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.