我正在尝试设置 Varnish 和 Apache 以从一个 VPS 为多个网站提供服务。但是,当我在浏览器中输入 seconddomain.nl 时,我被重定向到默认的 apache2 起始页(带有一个作为 VPS IP 地址的 url)。但是,firstdomain.nl 工作得很好。我的设置是这样的:
etc/default/varnish
:
DAEMON_OPTS="-a :80 \
-T localhost:1234 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
(部分省略)
/etc/varnish/default.vcl
:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
/etc/apache2/ports.conf
:
NameVirtualHost *:8080
Listen 127.0.0.1:8080
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
/etc/apache2/sites-available/000-default.conf
:
<VirtualHost *:8080>
ServerName 188.166.71.35
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/jws/>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/etc/apache2/sites-available/seconddomain.nl.conf
:
<VirtualHost *:8080>
ServerAdmin janwillem@seconddomain.nl
ServerName seconddomain.nl
ServerAlias www.seconddomain.nl
DocumentRoot /var/www/jws
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fjanwillem@seconddomain.nl
ErrorLog ${APACHE_LOG_DIR}/error-seconddomain.log
CustomLog ${APACHE_LOG_DIR}/access-seconddomain.log combined
</VirtualHost>
/etc/apache2/sites-available/firstdomain.nl.conf
:
<VirtualHost *:8080>
ServerAdmin info@firstdomain.nl
ServerName firstdomain.nl
ServerAlias www.firstdomain.nl
DocumentRoot /var/www/firstdomain.nl
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -finfo@cool-hou$
ErrorLog ${APACHE_LOG_DIR}/error-firstdomain.log
CustomLog ${APACHE_LOG_DIR}/access-firstdomain.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =firstdomain.nl [OR]
RewriteCond %{SERVER_NAME} =www.firstdomain.nl
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>