nginx维护中的配置

2022-07-07  本文已影响0人  東玖零

背景:有一天服务器要维护升级了,需要所有的页面全都显示update.html页面。
想法:那就是所有的页面请求都跳转到这个页面。

网上找了有三个方法:
1.使用rewrite关键字。

rewrite ^(.*)$ /maintain.html break;

注意这句后面如果有重定向等语句,那么后面执行的重定向等语句需要全部注释掉。

2.使用503的状态码。

location / {
  return 503;
}
//注意其他location优先级高的匹配均需要注释掉
error_page  503   /maintain.html;

3.多个配置,表示看明白了,但不会描述。

server {
        listen       4008;
        server_name  localhost;
        charset utf-8;
        #access_log  logs/host.access.log  main;
        location / {
            root   /var/webroot/maintain/;
            index  index.html index.htm;
        }
        # redirect server error pages to the static page /50x.html
        #
        error_page   404 405 500 502 503 504  /index.html;
        location = /index.html {
            root   /var/webroot/maintain/;
        }
}

搬了一个砖,经过探索只实现了其中第一个,正确代码如下:

server {

        listen 443 ssl;

        ssl_certificate "/abc/nginx/902322.baibaixxx.com.pem";
        ssl_certificate_key "/abc/nginx/902322.baibaixxx.com.key";

        server_name baibaixxx.com;

        rewrite ^(.*)$ /index.html break; #维护页面文件夹中,显示正在升级维护的页面

        location / {
            #root /abc/webapps/haha; # 原项目正确配置
            root /abc/webapps/update-ing; #维护页面文件夹
            autoindex on;
            index index.html index.htm;
        }

    }
上一篇下一篇

猜你喜欢

热点阅读