web-dev-qa-db-ja.com

UbuntuサーバーでApache2でSSLを使用できません。ポート443が開いていないようです

Https経由でWebサイトをホストするサーバーへのsshアクセスがあります。私はApacheを使用していますが、これまでのところ、このサイトのhttpバリアントは問題なく機能しています。

うまくいかないのはSSLを試すときです。 httpsサイトをまったくロードできません。 nmapを使用すると、ポート443が閉じられているように見えます。

matthias@outsideworld:~$ nmap domain.com

Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-11 15:13 GMT
Nmap scan report for domain.com (ip.is.here.yes)
Host is up (0.0097s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 Host up) scanned in 0.13 seconds

しかし、サーバー自体でsshを介してnmapなどを実行すると、443が開いているように見えますが、

matthias@server:~$ nmap domain.com

Starting Nmap 6.40 ( http://nmap.org ) at 2016-03-11 15:12 GMT
Nmap scan report for domain.com (ip.is.here.yes)
Host is up (0.00036s latency).
rDNS record for ip.is.here.yes: domain.domain.com
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 Host up) scanned in 0.05 seconds

詳細

Apacheは間違いなく443をリッスンしているようです。

matthias@server:~$ netstat -ln | grep -E ':80|443'
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN

私は本当に困惑していないかどうかを尋ねることはありません。 iptablesを使用してポートを開こうとしましたが、それでも何もしないようで、ufwは無効になっています。ここに現在のiptables --listがありますが、それ以外のいくつかの構成も試してみましたが、役に立ちませんでした。

matthias@server:~$ Sudo iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere 

ああ、最後になりましたが、ここに私が使用しているmysite.confファイルがあります。そして、この構成は、アクセスポイントとしてラップトップを使用するローカルネットワークで使用された場合、httpsを正しく提供しました。

<VirtualHost *:80>
    <If "req('Host') == '127.0.0.1'" >
        Redirect "/" "https://local.domain.com/"
    </If>
    <ElseIf "req('Host') == 'localhost'" >
        Redirect "/" "https://local.domain.com/"
    </ElseIf>
    <ElseIf "req('Host') == 'domain.com'" >
        #Redirect "/" "https://domain.com/"
    </ElseIf>
    <Else>
            Redirect "/" "https://ap.domain.com/"
    </Else>
</VirtualHost>

IncludeOptional path-to/Local/etc/Apache2/vhosts/*.conf
#NameVirtualHost *:443 

<VirtualHost *:443>
    ServerAdmin [email protected]
    <IfModule mod_ssl.c>
        SSLEngine on
        SSLCertificateFile path-to-cert.crt
        SSLCertificateKeyFile path-to-key.key
    </IfModule>     

    <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

    LogLevel info
    ErrorLog path-to/Local/Log/error.log
    CustomLog path-to/Local/Log/access.log combined

</VirtualHost>

<IfModule mpm_worker_module>
    ServerLimit          40
    StartServers          2
    MaxRequestWorkers   1000
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

また、上記のmysite.confで確認できる「IncludeOptional/*。conf」ファイルのすべてのコンテンツ、

WSGIDaemonProcess ourapp user=matthias group=matthias processes=2 threads=5
WSGIProcessGroup ourapp
WSGIPassAuthorization On

# The WSGI directory
<Directory path-to/Local/WSGI>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
    Allow from all
</Directory>

# The Backend Stuff
WSGIScriptAlias /generate_204 path-to/Local/WSGI/backend_204.wsgi
# The Backend Stuff
WSGIScriptAlias /backend path-to/Local/WSGI/backend_db.wsgi
DocumentRoot path-to/website/app

<Directory path-to/website/app>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
    Allow from all
</Directory>

Alias /rootCA.pem path-to/Local/etc/ssl/certs/rootCA.pem

<Directory path-to/Local/etc/ssl/certs>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
    Allow from all
</Directory>

何が起こっているのでしょうか?

1
Matthias

結局のところ、ポート443を開いていなかったのは実際にISPでした。それが修正された後、サイトは期待どおりに機能しました。

0
Matthias