本地测试环境相对比较好整,只要开启https的web服务器即可,FB官网的例子是Node.js :
https://developers.facebook.com/docs/games/instant-games/test-publish-share
这里介绍使用Tomcat 配置https 服务
1. 通过java自带的keytool生成keystore 1)到JAVA_HOME\bin 下找到keytool 或者如果配置了环境变量的话直接在dos命令窗口用keytool命令
2)到该路径下执行 keytool命令
先在D:\Program Files\apache-tomcat-8.0.22\ 下创建 ssl 文件夹
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\Program Files\apache-tomcat-8.0.22\ssl\tomcat.keystore“
密钥口令是 tomcat
这样就会在我新建的ssl文件夹下生成tomcat.keystore文件
然后打开tomcat配置文件 D:\Program Files\apache-tomcat-8.0.22\conf\server.xml
找到端口号 8443 的配置:
- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
- maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="D:/Program Files/apache-tomcat-8.0.22/ssl/tomcat.keystore"
- keystorePass="tomcat"/>
复制代码
<Connector>配置里的一些属性参数如下表: 属 性描 述
clientAuth如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证
keystoreFile指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于<CATALINA_HOME> (Tomcat安装目录)环境变量的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为 “.keystore”的文件。
keystorePass指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。
sslProtocol指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。
ciphers指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。
启动tomcat后使用 https://localhost:8443/ 进入。如果浏览器提示安全性警告,忽略警告并继续前往即可。
注:如果直接使用 https://www.facebook.com/embed/i ... ps://localhost:8043
打不开,先打开https://localhost:8443/ 进入。如果浏览器提示安全性警告,忽略警告并继续前往即可
|