wp8856495 2016-06-17 07:15 采纳率: 0%
浏览 1745

nginx请求proxy_pass后配置404错误界面

listen 80;
server_name localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;            
    fastcgi_intercept_errors on;
    proxy_intercept_errors on;          
    root html;              
    error_page  404    /404.html;
    error_page  500 502 503 504   /50x.html;

    location / {
        proxy_set_header Host $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-Proto  $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;
  index  index.html index.htm;
        #access_log  logs/webroot.log;
        #proxy_intercept_errors on;
      proxy_pass http://tomcat_server/webroot/;         

}

当请求资源不存在后出现404并未返回Nginx目录下的自定义的404.html,而是去被转发的站点webroot下面找404界面了,
因为有多个应用程序部署在不同的服务器然后由Nginx进行转发,我现在想把所有的错误界面都放在Nginx目录下统一处理,在出现404,500之类的错误后由Nginx直接返回Nginx目录下预先自定义好的界面

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:21
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 你可以参考下这篇文章:nginx error_page 和 proxy_intercept_errors 指令,404错误页面跳转
    • 除此之外, 这篇博客: 记录一次 Nginx 配置 proxy_pass 后 返回404问题中的 服务器名称和端口一起通过代理服务器传递,相对上一项,多了一个 $proxy_port,这个 $proxy_port 是proxy_pass 里面的那个端口,如果没有端口,像80 和 443 的话。也是会使用 80 /443 填充, 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      示例:
      proxy_pass http://www.baidu.com;

      host:host:host:proxy_port = 百度ip:80

      1. $http_host

      proxy_set_header Host $http_host;


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP