如何使用多个apache虚拟主机设置varnish 4.1.2



我正在尝试设置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>

我的配置与您的配置相同,解决问题的是删除/etc/apache2/ports.conf 中的127.0.0.1

这就是我现在的工作方式(我评论了更改后的行):

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
#Listen 127.0.0.1:8080
Listen 8080
<IfModule ssl_module>
        Listen 443
</IfModule>
<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

最新更新