Ubuntu 14.04 Apache + SSL服务器,如何configurationVarnish

我有一个运行在Apache2和SSL的Ubuntu 14.04服务器上的Magento。 我已经安装了Varnish,但不知道如何使用SSL进行设置,而不使用Nginx。 这是我目前的虚拟主机文件;

<VirtualHost *:443> ServerName mysite.com ServerAlias www.mysite.com ServerAdmin webmaster@localhost DocumentRoot /var/www/mysite.com <Directory /var/www/mysite.com/> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> SSLEngine on SSLCertificateFile /home/ssl/mysite_com.crt SSLCertificateKeyFile /home/ssl/mysite.com.key SSLCACertificateFile /home/ssl/mysite_com.ca-bundle ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> ServerName mysite.com RewriteEngine On RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=permanent] </VirtualHost> 

与你目前的Apache我会做:

配置您的站点以监听另一个端口,例如8888

 <VirtualHost *:8888> serverName mysite.com serverAlias www.mysite.com serverAdmin webmaster@localhost DocumentRoot /var/www/mysite.com <Directory /var/www/mysite.com/> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> </VirtualHost> 

然后配置SSL代理到Varnish

 <VirtualHost *:443> # what you had above plus the following: RequestHeader set X-Forwarded-Proto "https" ProxyPass / http://localhost:6081/ ProxyPassReverse / http://localhost:6081/ </VirtualHost> 

您将需要一些额外的模块:

 sudo a2enmod headers proxy proxy_http proxy_html 

最后配置Varnish后端使用端口8888

 backend default { .host = "127.0.0.1"; .port = "8888"; } 

简单的答案是,你不能使用SSL设置清漆,因为清漆不支持它。

你有2个选项

  1. 设置作为反向代理的Varnish的Nginx(或其他一些SSL终结者),并通过HTTP将请求转发给Varnish。

  2. 拆分您当前的Apache2服务器(支持SSL)和Varnish之间的流量。 端口80上的HTTP流量进入清漆,端口443上的HTTPS流量进入Apache2。