我有一台运行大量虚拟机的服务器,但只有一台公共IP(绝对无法获得更多)。其中许多虚拟机使用端口80来显示Web内容。目前,我使用不同的端口来访问这些WebUI,例如mydomain.com:9000,mydomain.com:7000,依此类推。
我想要的是拥有子域名,更像是service1.mydomain.com,service2.mydomain.com ...所以我创建了一个代理虚拟机,我在其上重定向来自端口80的所有内容,并根据内容重定向到内部IP子域名是。
现在我的问题如下:我有来自mydomain.com/www.mydomain.com的SSL证书。我如何设置它以便代理传播它?对我来说,解决方案是:
我更喜欢最后一个解决方案,但我不知道如何在两个Apaches上设置它,因为知道启用了SSL的虚拟机上的Apache配置如下:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
TransferLog ${APACHE_LOG_DIR}/transfer.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
CustomLog ${APACHE_LOG_DIR}/ssl_request.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/apache2/ssl/ssl.crt
SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
提前致谢;)