配置 nginx 为除主页之外的所有页面返回 503 错误代码
Posted
技术标签:
【中文标题】配置 nginx 为除主页之外的所有页面返回 503 错误代码【英文标题】:configure nginx to return 503 error code for all page except home page 【发布时间】:2021-03-09 23:36:13 【问题描述】:我的一个客户暂停该网站几个月,因此我计划为主页设置一个登录页面,并向所有其他链接返回 503 状态代码。 (我读到返回 503 状态码不会损害 seo)
这怎么可能通过 nginx 配置实现?
我有以下 nginx 配置,但它为所有请求抛出 503。
server
listen 80;
listen [::]:80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location /
return 503;
是否可以将 nginx 配置配置为在文档根目录 /usr/share/nginx/html 上提供 index.html 页面,并在所有其他链接上重新运行 503?那么 nginx conf 会是什么?
【问题讨论】:
【参考方案1】:使用精确匹配位置:
location = /
root /usr/share/nginx/html;
index index.html;
# all the other requests will be served with the following location
location /
return 503;
【讨论】:
我尝试了相同的配置,但主域也显示 503 状态代码。我正在使用 nginx:latest docker image。 尝试添加这个:location = /index.html root /usr/share/nginx/html;
这个配置应该可以正常工作。其他原因应该是问题的原因(缓存的请求、不正确的服务器块、未重新启动的 nginx 等)。以上是关于配置 nginx 为除主页之外的所有页面返回 503 错误代码的主要内容,如果未能解决你的问题,请参考以下文章
XAMPP 为除 phpmyadmin 之外的所有内容提供 Forbidden 403
为除一个/几个表之外的所有表授予 [几乎] 所有 mySQL 权限
为除 main 之外的所有分支触发 GitHub Actions,其中唯一的工作流定义文件是