为OOI配置HTTPS安全连接 - acgx/ooi2 GitHub Wiki

使用HTTPS安全连接的理由

如何申请网站安全证书

收费的证书选择较多,请自行搜索。免费的证书提供商主要有国内的沃通和国外的StartCom。注意StartCom的免费服务仅限于新签发的证书,重新签署和吊销都有额外费用。

请务必妥善保存私钥,防止被盗取

证书提供商都有较为详细的证书签署教程,在此不多说明。

为ooi配置HTTPS

参考本维基在VPS上安装配置OOI系统条目中的配置,在/etc/nginx/sites-enabled/ooi2.conf中添加HTTPS站点的设置过程如下

将HTTP部分配置完整复制,将后半部分改为监听443端口,开启ssl访问并提供证书和私钥路径

include /etc/nginx/kcs_upstream.conf;

server {
  listen 80;
  server_name 这里填你的域名;
  [...下略...]
}

server {
  listen 443 ssl;
  server_name 这里填你的域名;
  ssl_certificate \etc\ssl\certificate.crt;
  ssl_private_key \etc\ssl\certificate.key.pem;
  [...下略...]
}

配置完成后重新载入nginx配置

 nginx -s reload

如无错误即可用https协议访问原有域名。

如何为ooi配置HTTPS自动跳转

前文中的配置会默认让ooi全程使用安全连接。这样虽然安全性较高但是KCV等自建代理的专用浏览器无法解密HTTPS数据流,在这种情况下会无法获得游戏数据。通过在HTTPS站点配置中加入有条件跳转可以解决这个问题。

在/etc/nginx/sites-enabled/ooi2.conf的HTTPS站点部分添加如下配置

  location /iframe {
  return 301 http://$host$request_uri;
}
  location /poi {
  return 301 http://$host$request_uri;
}

这样在用KCV和POI模式访问时会自动跳转回明文http连接,安全性等同于在dmm.com上访问舰娘。注意此配置无法防止运营商劫持http会话导致缓存错乱的问题。

高级安全设置

(待补充)