2016-03-08 98 views
3

我有一臺運行在Ubuntu 14.04服務器上的帶有Apache2和SSL的Magento。 我已經安裝了Varnish,但不知道如何使用SSL進行設置,而不使用Nginx。 這是我當前的vhost文件;Ubuntu 14.04 Apache + SSL服務器,如何配置Varnish

<VirtualHost *:443> 

    ServerName mysite.com 
    ServerAlias www.mysite.com 
    ServerAdmin [email protected] 
    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> 
+0

我投票關閉這一問題作爲題外話,因爲Stack Overflow是一個[編程相關(http://stackoverflow.com /幫助/話題)問答網站。你的問題不是關於編程。也許你應該在http://magento.stackexchange.com上發佈它呢? – Enigmativity

回答

2

根據您當前的Apache的,我會做:

配置您的網站上的其他端口進行監聽,8888例如

<VirtualHost *:8888> 
    ServerName mysite.com 
    ServerAlias www.mysite.com 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/mysite.com 

    <Directory /var/www/mysite.com/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    </Directory> 
</VirtualHost> 

然後SSL一個配置爲代理光油

<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 

最後配置光油後端使用8888端口

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

簡而言之,您不能使用SSL設置Varnish,因爲Varnish不支持它。

您有選項

  1. 設置Nginx的(或一些其它SSL - 終止子)的清漆盈充當反向代理,並通過HTTP請求到轉發清漆。

  2. 拆分您當前的Apache2服務器(支持SSL)和Varnish之間的流量。端口80上的HTTP流量轉到Varnish,端口443上的HTTPS流量轉到Apache2。