Beego项目部署Nginx后静态资源无法访问是什么原因?

beego项目部署nginx后静态资源无法访问是什么原因?

Beego项目Nginx反向代理及HTTPS配置下静态资源无法访问问题排查

在使用Beego框架部署项目时,常采用Nginx进行反向代理和HTTPS配置。然而,配置完成后,有时会遇到静态资源(例如图片)无法访问的情况。本文分析一个案例,并指出问题根源。

用户反馈:在配置Nginx反向代理和SSL证书后,静态资源无法访问,但通过IP加端口方式可以正常访问。

问题nginx配置文件:

server {    listen 80;    server_name mp.yitiegongfang.com;    rewrite ^(.*)$ https://${server_name}$1 permanent;}server {    listen       443 ssl;    server_name  mp.yitiegongfang.com;    ssl_certificate /www/crt/1_mp.yitiegongfang.com_bundle.crt;    ssl_certificate_key /www/crt/2_mp.yitiegongfang.com.key;    ssl_session_timeout 5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    ssl_prefer_server_ciphers on;    charset utf-8;    access_log  /root/go/src/easy_wallpaper_api/access.log;    location /(css|js|fonts|img)/ {        access_log off;        expires 1d;        root "/root/go/src/easy_wallpaper_api/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:8066;    }}

乍看之下,配置文件没有明显错误:HTTPS证书配置和静态资源路径设置规范,location块指向Beego项目的静态资源目录,try_files指令使用正确。

问题根源:域名错误

经过排查,问题在于测试时使用了错误的域名。尽管配置文件中已正确设置server_name mp.yitiegongfang.com,但测试可能使用了其他域名或IP地址,导致Nginx无法正确将请求转发到后端Beego应用,从而无法访问静态资源。 只有使用正确的域名 mp.yitiegongfang.com 访问,Nginx才能正确处理请求。

以上就是Beego项目部署Nginx后静态资源无法访问是什么原因?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1385358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月15日 05:04:45
Logkit编译找不到依赖包怎么办?
下一篇 2025年12月15日 05:05:00

相关推荐

发表回复

登录后才能评论
关注微信