новый для nginx, и я пытаюсь настроить страницу пользовательского обслуживания с использованием кода 503. Я могу отобразить страницу, но мне что-то не хватает, а css не применяется. Когда я смотрю на нее как на обычную веб-страницу, она работает. Что мне не хватает? Конфигурируется следующим образом:
nginx.conf
user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
server_names_hash_bucket_size 128;
# Set the max size for file uploads to 50Mb
client_max_body_size 50M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
#sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
underscores_in_headers on;
include /etc/nginx/conf.d/*.conf;
}
blah.conf
server {
listen 80;
root /var/www/blah-maintenance;
error_page 503 /503.html;
location / {
return 503;
}
location /503.html {
internal;
}
}
503.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="/maint.css" />
</head>
<body>
<div class="container">
<h1>SYSTEM IS CURRENTLY UNDERGOING MAINTENANCE</h1>
<p class="blah">blah and blah-blah currently undergoing <b><u><font color="red">maintenance</font></u></b>.
<P class="blah">The system/s will be available as soon as possible. Please check back later.
<p class="blah">Thanks -
</div>
</body>
maint.css
/* CSS Document*/
/*Define the body element color*/
body {
background: white url(black-floor-blah-wallpaper.jpg) no-repeat;
background-postion: center center;
}
h1 {
text-align:center;
font-size: 32pt;
color: White;
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif
}
/*This section is for links*/
a:link {
font-weight:normal;
color:Red
}
a:visited {
font-weight:normal;
color:Silver;
}
a:hover {
font-weight:bold;
color: White;
font-variant:small-caps;
}
/*This section is for a paragraph section*/
div.container {
display: tabel-cell;
vertical-align: middle;
postion: absolute;
top: 50%;
width: 100%;
}
p.blah {
text-align:center;
font-style:italic;
font-size:18px;
color: White;
}
blue {
color:#0000FF;
}
/*This section is for the image black border.*/
img {
border-color: #000000;
border:thick;
border-style:ridge;'enter code here'
}
Возможно, запрос браузера на maint.css
перехвачен nginx и maint.css
на страницу обслуживания. Вы можете проверить это, потянув WebKit Inspector, Firebug или аналогичный и просмотрев трафик на вкладке Сеть. Ответ на /maint.css должен возвращать содержимое CSS. Если он будет перехвачен, вы увидите страницу обслуживания.
Я обычно встраиваю стили и активы для страниц обслуживания или перенаправляю весь запрос в другую зону обслуживания без предоставления статических активов. Вы также можете написать правила перенаправления для /maint.css, но это может довольно быстро распространиться. ("О, подождите, нам тоже нужны эти образы. О, нам также нужны эти сценарии...")