SSpanel Mod V3 魔改版问题记录

1. 启用HTTPS后提示ERR_SSL_PROTOCOL_ERROR

  1. 首先用openssl检查证书是否合法openssl s_client -connect ss.fly2x.com:443 -servername ss.fly2x.com
    系统返回
CONNECTED(00000003)
140495365109576:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 268 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

  1. 查看nginx log。
  • 要找到log,首先查看nginx配置文件
  • nginx配置文件用命令nginx -t显示
2017/01/26 22:45:15 [error] 2952#2952: *117 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 123.123.123.123, server: 0.0.0.0:443
  1. 这个网页给出了解决方法:
    在虚拟服务器配置文件的listen指令后添加default_server
 listen 443 default_server ssl;

2. 重定向过多

设置config/.config.php中打开debug,查看错误原因

3. "AUTH" failed: ERR Client sent AUTH, but no password is set

给redis设置密码。这个网页告诉我们可以设置在配置文件中永久有效,或者使用redis命令行工具一次有效。
找到配置文件例子,redis.conf,在其中找到reqiurepass,确保它前面没有#号,在后面加上空格,输入密码。
启动redis时,要指定配置文件,否则还是没有密码。./redis-server redis.conf

4. 添加统计代码:

在 resources/views/{主题名} 下创建一个 analytics.tpl,把统计代码贴进去
然后在config/.config.php文件里面把以下设置为true。
$System_Config['enable_analytics_code']='true';

5. 即使开启debug也是500错误:

在public/index.php里面添加
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);

6. php出错提示缺少文件/vendor/autoload.php

运行php composer.phar install安装依赖文件

7. Failed to download xxx/yyy from source: The Process class relies on proc_open, which is not available on your PHP installation.Now trying to download from dist

php禁用了proc_open,于是程序使用了另一种方式下载。
如果没有安装成功就启用proc_open函数。
编辑php.ini,把disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait...里面的proc_open删掉。

8. 后台用户列表,在线列表打不开

下载纯真IP文件到storage目录
http://piccdn.fly2x.com/qqwry.dat 2017-08-17更新

9. php composer.phar install出错

Cannot create cache directory
/root/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache Cannot create cache directory
/root/.composer/cache/files/, or directory is not writable. Proceeding without cache
[ErrorException]
is_dir(): open_basedir restriction in effect. File(/root/.composer) is not within the allowed path(s):
(/home/wwwroot/default:/tmp/:/proc/:/home/wwwroot)

编辑/etc/php.ini或者/usr/local/php/etc/php.ini,找到open_basedir = /home/wwwroot/default,更改为open_basedir = /home/wwwroot/default:/root/.composer/,用冒号隔开。open_basedir的参数不一定完全一致,在后面加冒号和/root/.composer/即可。
也可以在nginx/conf/fastcgi.conf里面或者站点的conf文件里面添加以下语句
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/root/.composer/";

10. 后端无法连接,提示{"ret":0,"data":"token or source is invalid}

首先面板配置文件中的muKey是可以设置多个,用逗号隔开。检查key是否正确。
然后,连接API的IP只能是127.0.0.1或者设置的节点IP。检查是否开启了cdn,导致面板获得的IP不是节点IP而是cdn的IP。
可以在节点服务器用curl https://你的站点地址/mod_mu/func/ping?key=设置的muKey,如果响应为{"ret":1,"data":"pong"}那么就成功了。
如果提示(53) SSL Connect Error,更新curl。
如果使用CloudFlare的cdn,可以在nginx该站点配置文件中的server{}里面添加以下代码,将属于CloudFlare的IP段替换为真实IP。

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/12;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;#  以上代码表示从这些ip发送的请求不是用户真实ip
real_ip_header    X-Forwarded-For; # 将请求头的用户ip替换为代理转发的ip
real_ip_recursive on; # nginx会查找转发链,返回第一个不在以上列表中的ip作为用户真实ip

要是nginx提示没有readip模块,需要重新编译安装。加上参数--with-http_realip_module
军哥的lnmp可以很方便地重新编译安装,在lnmp/lnmp.conf里面修改Nginx_Modules_Options='--with-http_realip_module',然后./upgrade.sh nginx即可。
此方法来自https://www.cmsky.com/lnmp-nginx-realip/

11. 原版ss怎么设置

服务器端

  • 加密方式,前面带[SS 可连接]的都可以,推荐以下几种
    [SS 可连接] aes-128-gcm
    [SS 可连接] aes-192-gcm
    [SS 可连接] aes-256-gcm
    [SS 可连接] chacha20-ietf-poly1305
    [SS 可连接] xchacha20-ietf-poly1305
  • 协议:origin
  • 混淆:
    [SS 可连接] simple_obfs_http
    [SS 可连接] simple_obfs_tls

PC

  1. 下载原版安装文件
  2. 下载obfs插件,放到同一文件夹
  3. 添加服务器界面设置插件,参数中的obfs可选参数为http和tls,与服务器端的混淆一致。
    插件:plugin: obfs-local
    插件参数:obfs=http;obfs-host=www.baidu.com
  4. 直接扫二维码添加,会自动添加插件配置。

安卓

  1. 在play市场下载原版并安装
  2. 在play市场下载Simple Obfuscation
  3. 在服务器详情界面添加插件并进行配置
添加新评论