我在AWS Lightsail中创建了一个新实例,并配置了一个具有两个子域的域example.com
。 test.example.com
和app.example.com
。
我删除了默认的bitnami.conf
并创建了一个新的。这删除了预定义的SSL设置代码。我按照以下tutorial安装了Lets加密。
这是添加SSL之前的bitnami.conf
文件。我可以根据需要访问所有网站。
ServerName example.com
<VirtualHost *:80>
ServerName example.com
<Directory /opt/bitnami/apache2/htdocs/default_website>
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
DocumentRoot /opt/bitnami/apache2/htdocs/default_website
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /opt/bitnami/apache2/htdocs/app_website
<Directory /opt/bitnami/apache2/htdocs/app_website>
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
ServerName app.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /opt/bitnami/apache2/htdocs/test_website
<Directory /opt/bitnami/apache2/htdocs/test_website>
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
ServerName test.example.com
</VirtualHost>
这是添加SSL代码后的
bitnami.conf
文件。从example.com
重定向到https://example.com
可以正常工作,但是页面无法在https
中加载。我收到ERR_CONNECTION_REFUSED
错误。新的
bitnami.conf
文件ServerName example.com
<VirtualHost *:80>
ServerName example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
<Directory /opt/bitnami/apache2/htdocs/default_website>
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
DocumentRoot /opt/bitnami/apache2/htdocs/default_website
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/opt/bitnami/apache2/htdocs/default_website"
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"
<Directory "/opt/bitnami/apache2/htdocs/default_website">
Options Indexes FollowSymLinks
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>
# Error Documents
ErrorDocument 503 /503.html
# Bitnami applications installed with a prefix URL (default)
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /opt/bitnami/apache2/htdocs/app_website
<Directory /opt/bitnami/apache2/htdocs/app_website>
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
ServerName app.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /opt/bitnami/apache2/htdocs/test_website
<Directory /opt/bitnami/apache2/htdocs/test_website>
DirectoryIndex index.html
AllowOverride All
Require all granted
</Directory>
ServerName test.example.com
</VirtualHost>
最佳答案
Bitnami工程师在这里。您还需要定义Apache将开始侦听的新端口以及它将接受的不同密码和协议。这些行包含在默认情况下包含在堆栈中的bitnami.conf文件中
Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EDH !RC4"
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/opt/bitnami/apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
在为端口443定义VirtualHost之前,您需要包括它们。
我希望这有帮助