Webサイト(Apache Webサーバー、Ubuntu 14.04)設定があります。http://example.comそしてポート1996と1980を設定します。
このリンクはhttp
http://example.com/myproject
http://example.com:1996/
http://example.com:1980/
次にSSL証明書をインストールしますhttps
。
ただし、このリンクは機能しません
https://example.com:1996
https://example.com:1980
https
同じドメインに複数のポートを設定する方法は?
Default.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName example.com
SSLEngine on
SSLCertificateFile /home/ubuntu/ssl_cert/signed_cert.crt
SSLCertificateKeyFile /home/ubuntu/ssl_cert/server.key
</VirtualHost>
ポート.conf:
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
答え1
編集:ユーザー設定をデバッグしながら、netstat
すでに1996 / TCPを使用しているプロセスがあることがわかりました。
netstat -nlp | grep 1996
tcp 0 0 0.0.0.0:1996 0.0.0.0:* LISTEN 4729/python
したがって、構成例は1997/TCPに変更されます。
Apache
/ mod_ssl
1997 / TCPと1980 / TCPがHTTPSポートであることを知らせる必要があります。デフォルトでは443 / TCPが知られていますが、他のTLS対応TCPポートを構成に追加する必要があります。
それ以外の場合、443 / TCP以外のポートはHTTP対応ポートとしてのみ処理されます。
たとえば、CentOSでは/etc/httpd/conf.d/ssl.conf
Debian / Ubuntuに次の行を追加する必要があります/etc/apache2/ports.conf
。
Listen 1997 https
Listen 1980 https
また、対応する仮想ホストでポートを定義する必要があります。
<VirtualHost *:1997>
Servername example.com
....
</VirtualHost>
<VirtualHost *:1980>
Servername example.com
....
</VirtualHost>
これもよく知られていません。次のことができます(例えば:* 443を使用している仮想ホストがまだ存在している場合は使用しないでください)。
<VirtualHost *:443 *:1980>
Servername example.com
....
</VirtualHost>
設定ファイルを編集したら、Apacheを再起動する必要があります。 Debian/Ubuntu で再起動します。
sudo service apache2 restart
Listenを使用したプロトコルの指定
オプションの2番目のプロトコルパラメータListenは、ほとんどの設定には必要ありません。指定しない場合、https はポート 443 のデフォルト値であり、http は他のすべてのポートのデフォルト値です。プロトコルは、要求を処理する必要があるモジュールを決定し、AcceptFilterディレクティブを使用してプロトコル固有の最適化を適用するために使用されます。
プロトコル設定は、非標準ポートで実行する場合にのみ必要です。たとえば、ポート8443でhttpsサイトを実行している場合:
192.170.2.1:8443 httpsを聞く
重要なヒント: ポートごとに1つの受信ライン/コマンドのみを設定できます。これらのポートの Listen ディレクティブが既にある場合は、そのポートにコメントを付けるか、ポートの前に https を追加できます。それ以外の場合、Apacheを起動すると「アドレスがすでに使用中です」というメッセージが表示されます。。
最後の段落のTLDR:おそらく、apache2.confに少なくとも1996年の冗長なListenがすでにあるでしょう。削除してください。 (いいえ、実行中の他のサービスで使用されています。)
2番目のメモ:実行中の他のサービスに設定した可能性のあるポートを使用しないでください。