簡単な質問です。Webサーバーの他のポートにSSL証明書をインストールする方法を知りたいだけです。 Webアプリケーションで有効なSSL証明書を取得できるようにしようとしています。 Apache2を使用します。 virtualhostファイルを編集しようとしました。私が何をしようとしているかさえわかりません。
Apacheの/etc/Apache2/ports.conf
を変更して、Apacheにこれらの異なるポートでリッスンするように通知します。
Listen 8080
<IfModule ssl_module>
Listen 446
</IfModule>
手順は次のとおりです。
SSL証明書を作成します。
証明書を追加するディレクトリを作成します。
mkdir -p /etc/Apache2/ssl/example.com
自己署名証明書を作成します。
Sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/Apache2/ssl/example.com/Apache.key –out /etc/Apache2/ssl/example.com/Apache.crt
Sudo a2enmod ssl
でsslモジュールを有効にします
Sudo nano /etc/Apache2/sites-available/example.conf
を使用して、Virtualhost
ファイル(example.confと呼ばれる)にエントリを作成します。
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName example.com
DocumentRoot /var/www/html
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:446>
ServerAdmin webmaster@localhost
ServerName example.com
DocumentRoot /var/www/html
# SSL Engine Switch:
# Enable/Disable SSL for this virtual Host.
SSLEngine on
# A self-signed (snakeoil) certificate can be created by installing
# the ssl-cert package. See
# /usr/share/doc/Apache2.2-common/README.Debian.gz for more info.
# If both key and certificate are stored in the same file, only the
# SSLCertificateFile directive is needed.
SSLCertificateFile /etc/Apache2/ssl/example.com/Apache.crt
SSLCertificateKeyFile /etc/Apache2/ssl/example.com/Apache.key
</VirtualHost>
</IfModule>
ポートを/etc/Apache2/ports.conf
ファイルに追加して、新しいポートでリッスンするようApacheに指示します。
Listen 8080
<IfModule ssl_module>
Listen 446
</IfModule>
<IfModule mod_gnutls.c>
Listen 446
</IfModule>
446
に対してポート443
でSSLトラフィックをリッスンするようにApacheに指示します設定ファイルを有効にします。
Sudo a2ensite example
Apacheを再起動します。
Sudo systemctl restart Apache2
まず、これらの答えを読む必要があります。
上記の回答に基づいた手順は次のとおりです。
追加のポート専用の新しいVirtualHost構成ファイルを作成します。これがポート99
であり、設定ファイル名がhttps-99.conf
であると仮定しましょう:
Sudo nano /etc/Apache2/sites-available/https-99.conf
https-99.conf
の内容は次のようになります。
<IfModule mod_ssl.c>
Listen 99
<VirtualHost *:99>
ServerName www.example.com
DocumentRoot /var/www/html-99
<Directory /var/www/html-99>
Options None FollowSymLinks
AllowOverride None
# To enable .htaccess Overrides: AllowOverride All
DirectoryIndex index.html index.php
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog ${Apache_LOG_DIR}/https-99.error.log
CustomLog ${Apache_LOG_DIR}/https-99.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem
</VirtualHost>
</IfModule>
上記のコンテンツをコピーし、nano
で使用: Shift+Insert ペースト用; Ctrl+O そして Enter 保存用; Ctrl+X 終了の場合
構成ファイルを有効にします。
Sudo a2ensite https-99.conf
生成 Let's Encrypt 証明書ファイル:
Sudo letsencrypt --Apache certonly --rsa-key-size 4096 --email [email protected] -d www.example.com
[email protected]
およびwww.example.com
は実数でなければなりません。
ポート99
をファイアウォールに開きます:
DocumentRoot
ディレクトリを作成します。
Sudo mkdir /var/www/html-99
いくつかの簡単なコンテンツをDocumentRoot
ディレクトリに配置します。
echo 'Hello!!!' | Sudo tee /var/www/html-99/index.html
Apacheの構成をリロードします。
Sudo service Apache2 reload
Sudo systemctl reload Apache2.service
ブラウザでhttps://www.example.com:99
を開いてみてください。結果は次のようになります。