server {
...
location = /test/test.ini {
deny all;
}
...
}
其中
location = /test/test.ini
:这个配置会匹配精确的 URL 路径 /test/test.ini。deny all
:这条指令禁止所有的访问,任何请求访问该文件都会收到 403 Forbidden 错误。
完成配置后,重新加载 Nginx 配置:
sudo nginx -s reload
server {
...
location = /test/test.ini {
deny all;
}
...
}
其中
location = /test/test.ini
:这个配置会匹配精确的 URL 路径 /test/test.ini。deny all
:这条指令禁止所有的访问,任何请求访问该文件都会收到 403 Forbidden 错误。完成配置后,重新加载 Nginx 配置:
sudo nginx -s reload
环境
Ubuntut 22桌面版
如果在安装nginx之前已经安装了apache2,那么80端口已经被apache2监听了,使用以下命令停止apache2服务:sudo systemctl stop apache2
使用以下命令禁止apache2开机自动启动:sudo systemctl disable apache2
由于apache2和nginx默认的网站根目录都是/var/www/html/,因此成功安装和启动nginx后,在操作系统内部的火狐浏览器访问:http://localhost
访问到了apache2的欢迎页面,不要惊讶,因为nginx在/var/www/html/目录安装的是index.nginx-debian.html。我们可以执行以下命令备份apache2安装的index.html:sudo mv /var/www/html/index.html /var/www/html/index.apache2-ubuntu22.html
然后把index.nginx-debian.html改名为index.html:sudo mv /var/www/html/index.nginx-debian.html /var/www/html/index.html
这样再访问http://localhost
就能访问到nginx的欢迎页面了!
Ubuntu安装nginx后,默认没有创建nginx用户和组(在CentOS系统是创建nginx用户和组),而是创建www-data用户和组。
RFC文档说根域名不支持CNAME映射到其他域名,否则和MX记录有冲突。即配置为CNAME zuotijia.me www.zuotijia.me,Cloudflare DNS CNAME拉平操作会把根域名zuotijia.me直接解析到IP地址,因此默认情况下,在浏览器输入zuotijia.me访问不到www.zuotijia.me。
要在浏览器输入根域名zuotijia.me访问到https://www.zuotijia.me,可以使用Nginx重定向。新建一个Nginx配置块/etc/nginx/conf.d/zuotijia.me.conf,输入以下内容:
server {
listen 80;
listen [::]:80;
server_name zuotijia.me;
return 301 https://www.zuotijia.me$request_uri;
}
server {
listen 443;
listen [::]:443;
server_name zuotijia.me;
return 301 https://www.zuotijia.me$request_uri;
}
重启Nginx使配置生效:
$ sudo systemctl restart nginx
然后以下网址都能重定向到https://www.zuotijia.me了:
https://zuotijia.me
http://zuotijia.me
即使在URL后面加了参数也能连带参数重定向。