puk*_*puk 7 subdomain apache2 virtualhost
目前我的Apache服务器设置如此
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
问题是下面的所有内容/var/www都可以从其他地方访问.如果我有一个网页/var/www/john/bio.html,那么该网页可以借用脚本/图片var/www/jane/
我想像这样设置我的Apache服务器
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www
</VirtualHost>
<VirtualHost *:80>
ServerName www.john.example.com
ServerAlias john.example.com
DocumentRoot /var/www/john
</VirtualHost>
<VirtualHost *:80>
ServerName www.jane.example.com
ServerAlias jane.example.com
DocumentRoot /var/www/jane
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
因此,所有用户的文件john去的/var/www/john/文件夹,同样的用户jane.然后,关闭符号链接(默认情况下),并且仅从/var/www/user/下方提供访问(默认情况下再次),我不必担心john's网页包含来自jane's网页的脚本/图像.
puk*_*puk 22
仅使用本地度量(/etc/hosts而不是DNS),我发现这确实可行.
首先,更改您的/etc/hosts文件以获得所需网站名称(www.example.com)和目标IP地址(192.168.1.1)的映射.我使用了我的本地IP地址.
IPAddress Hostname Alias
----------- -------------------------- ------------------
192.168.1.1 www.example.com example.com
192.168.1.1 www.john.example.com john.example.com
192.168.1.1 www.jane.example.com jane.example.com
Run Code Online (Sandbox Code Playgroud)
在查看万维网之前,您的Web浏览器将检查您的/etc/hosts文件.
接下来通过所有你的Apache配置文件(httpd.conf,apache2.conf,ports.conf,conf.d/*),并确保在只有一个文件的命令NameVirtualHost *:80发出(它不必是港口:80,但如果它发出超过一次,你会得到这个问题).我的发行是/etc/apache2/ports.conf,如果你不得不把它放在那里.最后,更新你的Apache配置文件(我的是/etc/apache2/sites-available/default).
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www
</VirtualHost>
<VirtualHost *:80>
ServerName www.john.example.com
ServerAlias john.example.com
DocumentRoot /var/www/john
</VirtualHost>
<VirtualHost *:80>
ServerName www.jane.example.com
ServerAlias jane.example.com
DocumentRoot /var/www/jane
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
作为最后一步,您可能需要通过发出以下命令将网站添加到Apache(如果您将所有网站分别放入sites-available/default各个网站的单独文件中,则不需要执行此步骤).
# a2ensite www.example.com
# a2ensite www.john.example.com
# a2ensite www.jane.example.com
Run Code Online (Sandbox Code Playgroud)
这样做之后,john.example.com将会去/var/www/john.然后该目录将充当根目录,并且john将不再具有访问权限www,因此无权访问/var/www/jane.
同样,在这之后,jane.example.com将会去/var/www/jane.然后该目录将充当根目录,并且jane将不再具有访问权限www,因此无权访问/var/www/john.
关闭符号链接 - 默认情况下 - 两个目录都不能互相访问
| 归档时间: |
|
| 查看次数: |
31165 次 |
| 最近记录: |