我使用Ubuntu 16.04服务器VM,我必须在其上配置以下域:
每个域都指向VM的IP,但显然指向不同的目录。
当VM是DNS服务器时,我设法让bind9使这些域指向VM的IP,并且我配置Apache以获得以下结果:
好:
为:
如果我将两者都放在端口80上,每个都是分开的,但如果我做不同的端口,似乎Apache只关心端口。
如何阻止访问maindomain.com:8080和otherport.com:80?
maindomain.com.conf文件:
<VirtualHost maindomain.com:80>
ServerAdmin webmaster@localhost
ServerName maindomain.com
ServerAlias www.maindomain.com maindomain.com
DocumentRoot "/var/www/html/maindomain"
<Directory /var/www/html/maindomain>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
otherport.com.conf文件:
<VirtualHost otherport.com:80>
ServerAdmin webmaster@localhost
ServerName otherport.com
ServerAlias www.otherport.com otherport.com
DocumentRoot "/var/www/html/otherport"
<Directory /var/www/html/otherport>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案 0 :(得分:0)
我设法完成了它,但我认为它更像是一个肮脏的黑客,而不是一个真正的解决方案。我再制作了两个虚拟主机:
maindomain.com.trap.conf
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName maindomain.com
ServerAlias www.maindomain.com maindomain.com
DocumentRoot "/var/www/html/maindomain"
<Directory /var/www/html/maindomain>
Require all denied
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
另一个名称和端口已切换
顺便说一下,我将<VirtualHost *:80>
和<VirtualHost *:8080>
留在我在第一篇帖子中提到的前两个.conf文件中。