写在前面:
一般来说,网站可以用域名或ip地址来进行访问。然而直接通过ip来访问网站是会存在一定的安全隐患,比如对你的网站进行域名恶意解析和恶意指向。 大家还记得google.com.sb吗?google.com.sb 这个域名曾经被恶意指向了百度的ip,后来证实了 google.com.sb 这个域名为第三者恶意指向的,并不是Google所为。当然这只是个玩笑,但如果有人用别的域名来恶意解析你的IP的话,那你的网站就能通过别人的域名来访问了。接下来会发生什么呢?可想而知。好了不多哔哔啦 说正经的。
相关环境说明:
Ubuntu/18.04 Apache/2.4.29
具体操作:
首先配置虚拟主机,使用root权限打开hosts文件:
sudo su root vi /etc/hosts
在hosts文件中加入本机的ip地址和需要设置的虚拟主机名:
127.0.0.1 tanyaodan.com
输入完毕后Esc回到编辑模式下再输入:wq保存退出。然后在/etc/apache2/sites-available这个目录下新建一个.conf文件并进入:
cd /etc/apache2/sites-available cp 000-default.conf tanyaodan.conf vi tanyaodan.conf
修改 ServerName为域名 和 DocumentRoot为服务器根目录。
连接一下,重启apache2:
ln -s /etc/apache2/sites-available/tanyaodan.conf ../sites-enabled/ service apache2 restart
然后开始配置apache2.conf,网上很多教程说的是htppd.conf但是我这个环境下的apache没有那个文件,只有apache2.conf。
vi /etc/apache2/apache2.conf
加入以下内容(请大家自行把ip地址、域名、网站根目录更改成自己的):
<VirtualHost *:80> ServerName 123.57.233.222 ServerAlias <Location /> Order Allow,Deny Deny from all </Location> </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot "/var/www/html" ServerName www.tanyaodan.com ServerAlias *.tanyaodan.com <Directory "/var/www/html"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
第一段代码用来实现拒绝直接通过123.57.233.222这个ip的任何访问请求。如果用123.57.233.222进行访问,你会看到403 Forbidden。
第二部分代码是允许用户通过 tanyaodan.com 这个域名访问,且主目录指向 /var/www/html/。
输入完毕后Esc回到编辑模式下再输入:wq保存退出。最后重启apache2服务即可。
service apache2 restart