2017-04-21 50 views
0

我想在一個apache2安裝上託管一個常規網站和一個TOR網站。我還在普通網站上使用Let's Encrypt證書。目前,我的000-default.conf在網站可用的文件是這樣的:如何使用VirtualHost託管不同的常規網頁和TOR網頁?

<VirtualHost *:80> 
    ServerName website1.com 
    ServerAlias www.website1.com 
    ServerAlias alias.nu 
    ServerAlias www.alias.nu 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    RewriteEngine on 
    RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent] 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName torlink.onion 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/torhtml 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

我碰到:

sudo a2dissite 000-default 
sudo a2ensite 000-default 
sudo service apache2 restart 

但無論我做什麼,每當我去石山環節,常規網站顯示(它也提示我接受證書,因爲TOR域沒有添加到證書中,因爲使用Let's Encrypt是不可能的)。

我有一種感覺,這可能是因爲RewriteRule,但應該只匹配我認爲的ServerName和ServerAliasses。

回答

0

我不知道爲什麼,但它現在有效。我重新啓動apache2和tor,reran一些a2dissite和a2ensite,它神奇地工作。

編輯:我可能已經發現了。我刪除了HTTPS重寫。我的文件現在看起來像這樣:

<VirtualHost *:80> 
    ServerName Torlink.onion 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/torhtml 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 
<VirtualHost *:80> 
    ServerName website.com 
    ServerAlias www.website.com 
    ServerAlias alias.nu 
    ServerAlias www.alias.nu 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    RewriteEngine on 
    Redirect permanent/https://www.website.com 
</VirtualHost>