登录
首页 >  Golang >  Go问答

nginx作为反向代理go作为服务器无法读取静态文件

来源:SegmentFault

时间:2023-02-16 15:30:19 276浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《nginx作为反向代理go作为服务器无法读取静态文件》,介绍一下服务器、go、nginx、网站建设、网站开发,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

网站html中有如下代码:

现在问题是浏览器无法读取到这些文件
使用go作为服务器,nginx作为反向代理
html文件放在 /home/user/project/目录下
static等文件夹也放在该目录下
/home/user/project/是项目根目录

nginx做了如下配置

location /static/ {
    alias /home/user/project/static/;
}

但是感觉没有起到作用

请问如何在不修改网页原本代码的前提下使浏览器正确找到指定的文件?

正确答案

拿一个beego的nginx配置文件给你参考,大概原理是除了指明URL里带有的css,js,fonts,img字符的nginx接管,如果文件不存在都转发到后端请求,相当于GO开启的web服务器

server {
    listen       80;
    server_name  .a.com;

    charset utf-8;
    access_log  /home/a.com.access.log;

    location /(css|js|fonts|img)/ {
        access_log off;
        expires 1d;

        root "/path/to/app_a/static";
        try_files $uri @backend;
    }

    location / {
        try_files /_not_exists_ @backend;
    }

    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;

        proxy_pass http://127.0.0.1:8080;
    }
}

好了,本文到此结束,带大家了解了《nginx作为反向代理go作为服务器无法读取静态文件》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表