ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## **1、Nginx抛出404,返回给客户端404** ``` server { listen 80; server_name # 定义错误页面码,如果出现相应的错误页面码,转发到那里。 error_page 404 403 500 502 503 504 /404.html; location / { root /var/www/test; index index.html index.htm; } # 承接上面的location。 location = /404.html { # 放错误页面的目录路径。 root /usr/share/nginx/html; } } ``` ## **2、反向代理的错误页面** ``` upstream www { server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s; ip_hash; } server { listen 80; server_name www.test.com; root /var/www/test; index index.html index.htm; error_page 404 /404.html; location / { try_files $uri @test; } location @test { if ($request_uri = /){ rewrite ^(.*)$ /index.html last; } # 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面 proxy_intercept_errors on; proxy_pass http://www; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for; } location ~* \.(gif|jpg|jpeg|png|css|js|ico|html)$ { gzip on; gzip_http_version 1.0; gzip_types application/javascript text/css image/jpeg; proxy_set_header Accept-Encoding 'gzip'; add_header X-Frame-Options 'SAMEORIGIN'; add_header abc '132'; root /usr/share/nginx/html/; index index.html; } } ``` ## **3、Nginx解析php代码的错误页面** 如果后端是php解析的,需要加一个变量 在http段中加一个变量 fastcgi_intercept_errors on 就可以了。 指定一个错误页面: ``` error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } ``` 指定一个url地址: ``` error_page 404 /404.html; error_page 404 = http://www.test.com/error.html; ```