推出密码加密功能 后, 有网友质问, 使用密码加密时没有用HTTPS协议, 不够安全. 其实是否HTTPS是在Web服务器这一层配置的, 而不是WebChart应用程序, 可以给Tomcat配置成只能用HTTPS访问 .

    先到WebChart的主目录中去运行以下命令, 生成一个服务器端的keystore.

D:/TomcatWebChart> keytool -genkey -alias webchart -keyalg RSA -keystore webchart.keystore
输入keystore密码:  webchart
您的名字与姓氏是什么?
  [Unknown]:  Fangxin.Lou
您的组织单位名称是什么?
  [Unknown]:  AnySQL.net
您的组织名称是什么?
  [Unknown]:  Personal
您所在的城市或区域名称是什么?
  [Unknown]:  HangZhou
您所在的州或省份名称是什么?
  [Unknown]:  ZheJiang
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=Fangxin.Lou, OU=AnySQL.net, O=Personal, L=HangZhou, ST=ZheJiang, C=CN 正确吗?
  [否]:  Y

输入<webchart>的主密码
        (如果和 keystore 密码相同,按回车):

    然后编辑一个Tomcat的配置文件(server.xml), 找到8443端口这一行, 将前后的注释去掉, 并改成如下所示.

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8443" enableLookups="true" scheme="https" secure="true"
    acceptCount="100"
    keystoreFile="webchart.keystore" keystorePass="webchart"
    useURIValidationHack="false" disableUploadTimeout="true"
    clientAuth="false" sslProtocol="TLS" />

    为了安全, 将8080端口的服务注释掉, 如下所示.

<!--
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8080" enableLookups="true" redirectPort="8443"
    acceptCount="100" connectionTimeout="20000"
    useURIValidationHack="false" disableUploadTimeout="true" />
-->

    重起Tomcat服务器后, 就只能用HTTPS协议访问了, 只是端口是8443, 需要在URL中显示指定.