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

时间:2016-05-05 21:24:56

标签: apache virtualhost varnish varnish-4

我正在尝试设置Varnish和Apache来从一个VPS服务多个网站。但是,当我在浏览器中输入seconddomain.nl时,我被重定向到默认的apache2起始页面(使用的URL是VPS IP地址)。但是,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>

1 个答案:

答案 0 :(得分:0)

我和你的配置相同,解决它的是删除/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>