Solo v3.1.0 发布,新皮肤 Pinghsu

本贴最后更新于 577 天前,其中的信息可能已经时移世改

v3.1.0 简介

Solo v3.1.0 引入了一款新皮肤 Pinghsu,感谢原作者。另外,从该版本开始支持跨版本升级,降低用户升级成本。

升级须知

升级前请备份数据库,以备发生不可预期的问题时进行回滚。

v3.1.0 变更记录

历史版本变更请浏览这里

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1250 引用 • 9447 回帖 • 621 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2773 引用 • 8034 回帖 • 765 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    322 引用 • 3197 回帖 • 692 关注
  • 博客

    记录并分享人生的经历。

    243 引用 • 2382 回帖

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • stormbirds

    我的环境为 nginx 所在外网服务器 A,接受域名 blog.stormbirds.cn 的所有请求硬跳转至 https 协议,代理至 Tomcat 容器所在服务器 B 的 http 协议的端口上,下面有 nginx 配置代码。
    出现问题为无法登录。显示 Latke 配置错误,但是可以正常浏览。还有就是从 2.9.9 升级到了 3.0.0 然后升级到了 3.1.0 后出现了以下情况

    Mixed Content: The page at 'https://blog.stormbirds.cn/' was loaded over HTTPS, but requested an insecure stylesheet 'http://blog.stormbirds.cn/skins/Medium/css/base.css?1551464246090'. This request has been blocked; the content must be served over HTTPS.
    (index):1 Mixed Content: The page at 'https://blog.stormbirds.cn/' was loaded over HTTPS, but requested an insecure script 'http://blog.stormbirds.cn/js/lib/compress/pjax.min.js'. This request has been blocked; the content must be served over HTTPS.
    (index):1 Mixed Content: The page at 'https://blog.stormbirds.cn/' was loaded over HTTPS, but requested an insecure script 'http://blog.stormbirds.cn/js/common.min.js?1551464246090'. This request has been blocked; the content must be served over HTTPS.
    (index):1 Mixed Content: The page at 'https://blog.stormbirds.cn/' was loaded over HTTPS, but requested an insecure script 'http://blog.stormbirds.cn/skins/Medium/js/common.min.js?1551464246090'. This request has been blocked; the content must be served over HTTPS.
    (index):821 Uncaught ReferenceError: Util is not defined
        at (index):821
    (anonymous) @ (index):821
    (index):827 Uncaught ReferenceError: $ is not defined
        at (index):827
        at (index):856
    (anonymous) @ (index):827
    (anonymous) @ (index):856
    (index):1 Mixed Content: The page at 'https://blog.stormbirds.cn/' was loaded over HTTPS, but requested an insecure manifest 'http://blog.stormbirds.cn/manifest.json'. This request has been blocked; the content must be served over HTTPS.
    (index):1 Mixed Content: The page at 'https://blog.stormbirds.cn/' was loaded over HTTPS, but requested an insecure favicon 'http://blog.stormbirds.cn/favicon.png'. This request has been blocked; the content must be served over HTTPS.
    

    我的 latke.properties 文件配置情况为

    
    #### Server ####
    
    # Browser visit protocol
    serverScheme=https
    
    #### Cookie ####
    cookieName=solo
    cookieSecret=Beyond
    
    #### Runtime Mode ####
    #runtimeMode=DEVELOPMENT
    runtimeMode=PRODUCTION
    

    我的 nginx 配置,其中添加了 X-Forwarded-Proto https 的头

    server {
        listen 443 ssl;
    	server_name blog.stormbirds.cn;
       	access_log logs/access_blog.log;
       	error_log logs/error_blog.log;
    	
    	ssl_certificate /root/.acme.sh/stormbirds.cn/fullchain.cer;
    	ssl_certificate_key /root/.acme.sh/stormbirds.cn/stormbirds.cn.key;
    	ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    	ssl_prefer_server_ciphers on;
         ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
         
    	# set google 
        location /google7118b879bf9399f4.html {
            root html/blog;
        }
    	# set site favicon
        location /favicon.ico {
            root html;
        }
         location / {
          proxy_pass http://222.90.42.119:8800;
          proxy_http_version 1.1;
          add_header Access-Control-Allow-Origin *;
          add_header Access-Control-Allow-Headers X-Requested-With;
          add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $host;
          proxy_set_header X-Forwarded-Proto $scheme;
    #      proxy_set_header X-SSL-Client-Cert $ssl_client_cert;
      	}
    
    }
    server{
    	listen 80 ;
    	listen [::]:80 ;
    	server_name blog.stormbirds.cn;
    	access_log logs/access_blog.log;
    	error_log logs/error_blog.log;
    	if ($server_port = 80 ) {
    		return 301 https://$host$request_uri;
    	}
    }
    

    而且在 Tomcat 的 server.xml 中添加了 https 的协议区分

    <Valve className="org.apache.catalina.valves.RemoteIpValve"
    	remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto"
    	protocolHeaderHttpsValue="https"/>
    

    1 回复
  • 其他回帖
  • tuchief

    刚刚下载的最新 war 包,启动出现 d2 的问题,我看留言说是已经修复了,难道 Git 上的包不是更新后的?
    image.png

    1 回复
  • hwj19941028

    刚才我又下载了一个 3.1 的包,重新升级,还是报 ServerHost 为空的错误image.png

    1 回复
  • 88250
    作者

    你好,latke.props 的 serverScheme 改完后重启容器了吗?另外,NGINX 的 X-Forwarded-Proto 和 Tomcat 的 server.xml 中的协议头配置程序没有读取,可以不用配置。区分协议主要是用的 latke.props 中的 serverScheme 配置项。重启后如果还有问题,请再加一个配置项 staticServerScheme 也配置成 https 后再重启。

    1 回复
  • 查看全部回帖