nginx和apache-简单配置
Apache 配置
一般配置文件位置:
- Debian/Ubuntu:
/etc/apache2/sites-available/000-default.conf
- CentOS/RHEL:
/etc/httpd/conf.d/
启动/重启命令:
- Debian/Ubuntu:
sudo systemctl restart apache2
- CentOS/RHEL:
sudo systemctl restart httpd
示例配置
1 | <VirtualHost *:80> |
说明:
ServerName
:指定主机名。DocumentRoot
:指定网站根目录。<Directory>
:设置对该目录的访问规则。
其他
禁用默认欢迎页面
1 | # CentOS手动禁用默认配置文件或者删除欢迎页面配置 |
防止泄漏Apache版本信息
新增一个安全配置文件security.conf
1 | ServerTokens Prod |
检查配置情况
1 | apachectl configtest |
Nginx 配置
配置文件位置:
- Debian/Ubuntu:
/etc/nginx/sites-available/default
- CentOS/RHEL:
/etc/nginx/nginx.conf
启动/重启命令:
- Debian/Ubuntu/CentOS/RHEL 通用:
sudo systemctl restart nginx
示例配置
1 | server { |
说明:
listen 80
:监听80端口。server_name
:指定主机名。root
:指定网站根目录。try_files
:检查请求是否为实际存在的文件,否则显示404。
仅允许域名访问
nginx
1 | # 先处理非法 Host |
说明:
- 第一个 server_name _ 区块匹配所有没有匹配到指定 server_name 的请求,直接 404
- 第二个只允许 www.example.com
apache
1 | <VirtualHost *:80> |
说明:
- 第一个配置只允许指定的 www.example.com
- 第二个默认匹配其他 Host 请求,并 Require all denied
仅允许域名访问
nginx
1 | # 默认 Server:处理非法请求 |
说明:
- 非法处理请求
- 不通过域名访问的处置方式
- 正确的域名配置
- 设置可访问的域名
apache
1 | # 默认虚拟主机配置 |
除了拒绝访问,还可以重定向到你的网页
1 | <Location /> |
说明:(和nginx相似)
- 默认虚拟主机放在第一个加载的配置文件中,匹配未指定域名的请求,比如直接访问IP
- 正确的域名配置
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HAHA!