我想在一个apache2安装上托管一个常规网站和一个TOR网站。我还在我的普通网站上使用了Let's Encrypt证书。目前,站点可用文件中的000-default.conf如下所示:
<VirtualHost *:80>
ServerName website1.com
ServerAlias www.website1.com
ServerAlias alias.nu
ServerAlias www.alias.nu
ServerAdmin webmaster@localhost
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 webmaster@localhost
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链接时,常规网站都会显示(它还会提示我接受证书,因为TOR域未添加到证书中,因为使用Let的加密是不可能的)
我有一种感觉,可能是因为RewriteRule,但这应该只与我认为的ServerName和ServerAliasses相匹配。
答案 0 :(得分:0)
我不知道为什么,但它现在有效。我重新启动了apache2和tor,重新启动了一些a2dissite和a2nsite,它神奇地起作用。
编辑:我可能已经发现了。我删除了HTTPS重写。我的文件现在看起来像这样:<VirtualHost *:80>
ServerName Torlink.onion
ServerAdmin webmaster@localhost
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 webmaster@localhost
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>