楼主你好,我今天换的halo,目前遇到了一个小问题,网上搜索了很多都没有找到解决方法,想请教您一下。

具体问题如下:

主题页的图片不显示+头像上传成功,但是也显示错误,(目前初步判断应该就是我反向代理设置的问题,因为把域名换成服务器ip:8090就能正常访问了)。

以下是我的Nginx配置情况(我用的宝塔面板,新建了一个网站,在网站的Nginx设置里填的)

server
{
    listen 80;
	listen 443 ssl http2;
    server_name blog.loll.cc;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/blog.loll.cc;
    
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/blog.loll.cc/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/blog.loll.cc/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497  https://$host$request_uri;

    #SSL-END
    
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-74.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/blog.loll.cc.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        proxy_pass http://127.0.0.1:8090;
        expires      12h;
        error_log off;
        access_log /dev/null; 
    }
    location / {
    proxy_pass http://127.0.0.1:8090/;
    rewrite ^/(.*)$ /$1 break;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade-Insecure-Requests 1;
    proxy_set_header X-Forwarded-Proto https;
  }
    access_log  /www/wwwlogs/blog.loll.cc.log;
    error_log  /www/wwwlogs/blog.loll.cc.error.log;
}

之前css和js也无法显示,所以我添加了

location ~ .*\.(js|css)?$
    {
        proxy_pass http://127.0.0.1:8090;
        expires      12h;
        error_log off;
        access_log /dev/null; 
    }

Nginx我不是很懂,希望能得到解答,谢谢您!~@Ryan Wang 👍
我的网站是:https://blog.loll.cc/

    gugu

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
            error_log off;
            access_log /dev/null;
        }
        
        location ~ .*\.(js|css)?$
        {
            proxy_pass http://127.0.0.1:8090;
            expires      12h;
            error_log off;
            access_log /dev/null; 
        }

    删掉或者注释掉。

      Ryan Wang 👍 哇,回复的好快!我注释掉了,已经可以了,谢谢楼主!方便的话可以帮忙稍微简单解释一下是怎么回事么,正好想学一下Nginx,感谢!

      兄弟 我也出现你的问题 怎么解决的 能帮帮我吗

      • gugu 回复了此帖

        yshUser

        server
        {
            listen 80;
        	listen 443 ssl http2;
            server_name yirenliu.cn www.yirenliu.cn;
            index index.php index.html index.htm default.php default.htm default.html;
            root /www/wwwroot/yirenliu.cn;
            
            #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
            #error_page 404/404.html;
            #HTTP_TO_HTTPS_START
            if ($server_port !~ 443){
                rewrite ^(/.*)$ https://$host$1 permanent;
            }
            #HTTP_TO_HTTPS_END
            ssl_certificate    /www/server/panel/vhost/cert/yirenliu.cn/fullchain.pem;
            ssl_certificate_key    /www/server/panel/vhost/cert/yirenliu.cn/privkey.pem;
            ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
            ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
            ssl_prefer_server_ciphers on;
            ssl_session_cache shared:SSL:10m;
            ssl_session_timeout 10m;
            add_header Strict-Transport-Security "max-age=31536000";
            error_page 497  https://$host$request_uri;
        
            #SSL-END
            
            #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
            #error_page 404 /404.html;
            #error_page 502 /502.html;
            #ERROR-PAGE-END
            
            #PHP-INFO-START  PHP引用配置,可以注释或修改
            include enable-php-74.conf;
            #PHP-INFO-END
            
            #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
            include /www/server/panel/vhost/rewrite/yirenliu.cn.conf;
            #REWRITE-END
            
            #禁止访问的文件或目录
            location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
            {
                return 404;
            }
            
            #一键申请SSL证书验证目录相关设置
            location ~ \.well-known{
                allow all;
            }
            
            # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            # {
            #     expires      30d;
            #     error_log off;
            #     access_log /dev/null;
            # }
            
            # location ~ .*\.(js|css)?$
            # {
            #     expires      12h;
            #     error_log off;
            #     access_log /dev/null; 
            # }
                location / {
            proxy_pass http://127.0.0.1:8090/;
            rewrite ^/(.*)$ /$1 break;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade-Insecure-Requests 1;
            proxy_set_header X-Forwarded-Proto https;
          }
            access_log  /www/wwwlogs/yirenliu.cn.log;
            error_log  /www/wwwlogs/yirenliu.cn.error.log;
        }

        这个是我宝塔面板上的配置,供你参考一下,主要是后半部,把楼主讲的注释掉就好了

        部署了域名以后,再用ip+端口号访问,域名就不能访问了,ip+端口号也访问不了Ryan Wang 👍

        2 年 后

        xianyuh 这不属于问题。几乎任何平台你修改了域名,其保存的内容如果有包含域名链接的话,你都得自己手动改。

        2 个月 后

        johnniang 这仅仅是一个临时方案,后续将会改进。

        我想问问,现在有没有新的方案改进呀。

        gugu 主题页的图片不显示+头像上传成功,但是也显示错误,(目前初步判断应该就是我反向代理设置的问题,因为把域名换成服务器ip:8090就能正常访问了)。

        一样的问题,感谢帮忙提问!

        Ryan Wang 👍 我和gugu是一样的问题呈现,但是我先去h2的数据执行了一楼的sql语句,然后再执行的你的说解决方案, nginx reload了一下,我发现好像还是不行访问图片资源诶。但是ip:端口 的方式还是可以访问图片资源。

        1 年 后

        Ryan Wang 👍 作者大大您好,麻烦问一下,1panel安装的halo版本使用了mysql如何调整这个域名呢?我找了半天都没有找到对应的application.yaml文件啊?

          5 天 后

          Ryan Wang 👍 我目前是版本是halo2.14.1,我的图片更换了图床域名,现在想批量替换,请问有办法吗?我看了1P应用页面的参数,没有修改图床域名的地方

            1 个月 后