Я ищу решение для предоставления веб-приложения, работающего в нашей локальной сети под субдоменом через SSL. Мы хотим использовать не DynDNS, а поддомен нашего собственного домена.
У нас есть корневой сервер с ubuntu 16.04, apache 2, размещенный в центре обработки данных, где заканчивается наш домен example.com и все поддомены.
<VirtualHost *:443>
ServerName SUB.EXAMPLE.COM
SSLEngine on
SSLProxyEngine on
SSLProxyCheckPeerCN On
SSLProxyCheckPeerExpire On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / https://PUBLICIP:9443/
ProxyPassReverse / https://PUBLICIP:9443/
</VirtualHost>
Debian с apache 2
<VirtualHost *:9443>
ServerName SUB.EXAMPLE.COM
ServerAdmin webmaster@localhost
DocumentRoot /var/www/MYAPP
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/SUB.DOMAIN.COM/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/SUB.DOMAIN.COM/privkey.pem
</VirtualHost>
Мне нужно получить 2 сертификата? Один для SUB.EXAMPLE.COM на нашем корневом сервере и один для нашего PUBLICIP (что, по-видимому, невозможно через Letsencrypt). Или есть другой способ исправить это (без настройки DNS)?
Поэтому я решил использовать один и тот же сертификат на обоих серверах и следующую конфигурацию виртуального хоста на корневом сервере:
<VirtualHost *:443>
ServerName SUB.EXAMPLE.COM
ProxyPass / https://PUBLICIP:9443/
ProxyPassReverse / https://PUBLICIP:9443/
SSLCertificateFile /etc/letsencrypt/live/SUB.EXAMPLE.COM/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/SUB.EXAMPLE.COM/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLProxyEngine on
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
SSLProxyCheckPeerExpire On
</VirtualHost>