OpenSuSE 13.1에서 Apache2용 SSL을 구성하는 방법

OpenSuSE 13.1에서 Apache2용 SSL을 구성하는 방법

여러 가상 웹 사이트를 실행하는 가상 호스팅 서버에 OpenSuSE를 설치했습니다. 일반 http에서는 모든 것이 잘 작동합니다. http 외에도 이제 https에서 가상 사이트 중 하나를 실행하고 싶습니다. 그래서 SSL 인증서를 구입했습니다. 인증서 파일을 서버에 복사했습니다.

SSLCertificateFile    /etc/apache2/crt/site.crt
SSLCertificateKeyFile /etc/apache2/key/my.key
SSLCACertificateFile  /etc/apache2/ca.txt

"/etc/sysconfig/apache2" 파일의 Apache 모듈에서 SSL을 활성화했습니다.

APACHE_MODULES="rewrite actions alias auth_basic authn_file authz_host authz_groupfile  authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php5 reqtimeout authn_core authz_core alias_module headers"

/etc/apache2의 내 listening.conf는 다음과 같습니다.

Listen 80
<IfDefine SSL>
    <IfDefine !NOSSL>
        <IfModule mod_ssl.c>
            Listen 443
        </IfModule>
    </IfDefine>
</IfDefine>

내 웹호스트 구성 파일은 다음과 같습니다.

<IfDefine SSL>
<IfDefine !NOSSL>
<VirtualHost *:443>
        DocumentRoot "/srv/www/vhosts/dialogis-mediation.de/"
        ServerName dialogis.coach:443
        ServerAdmin [email protected]
        ErrorLog /var/log/apache2/error_log
        TransferLog /var/log/apache2/access_log
        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile    /etc/apache2/crt/site.crt
SSLCertificateKeyFile /etc/apache2/key/my.key
SSLCACertificateFile  /etc/apache2/ca.txt
SSLCertificateChainFile /etc/apache2/ca.txt
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory "/srv/www/cgi-bin">
            SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-5]" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0
        CustomLog /var/log/apache2/ssl_request_log   ssl_combined
</VirtualHost>
</IfDefine>
</IfDefine>

이제 질문은: Apache에는 포트 443도 활성화되어 있지 않습니다.

내가 한 것: "listen.conf"에서 "Listen 80" 바로 다음 줄에 "Listen 443"을 추가합니다. 이 경우 서버는 포트 443에서 수신 대기하지만 Chrome에서 "ERR_SSL_PROTOCOL_ERROR" 오류를 표시합니다.

내가 무엇을 잘못 구성했는지 잘 모르겠습니다.

답변1

또한 /etc/sysconfig/apache2의 APACHE_SERVER_FLAGS에 SSL 플래그를 추가해야 합니다.

# Notably, to enable ssl support, 'SSL' needs to be added here.
# To enable the server-status, 'STATUS' needs to be added here.
#
# It does not matter if you write flag1, -D flag1 or -Dflag1.
# Multiple flags can be given as "-D flag1 -D flag2" or simply "flag1 flag2".
#
# Specifying such flags here is equivalent to giving them on the commandline.
# (e.g. via rcapache2 start -DReverseProxy)
#
# Example:
#      "SSL STATUS AWSTATS SVN_VIEWCVS no_subversion_today"
#
APACHE_SERVER_FLAGS="SSL"

답변2

/etc/apache2 my listening.conf에서 시도했습니다. 듣기 80 듣기 443

또한 다른 응용 프로그램이 포트 443을 사용하고 있는지 확인하고 포트를 해제한 후 다시 시도하십시오!

관련 정보