名字
本指北仅就linux环境、从letsencrypt获取ssl证书分享一点个人踩坑经验。
;程序运行模式:1、开发,2、测试,3、生产环境
dev.mode=1
;是否启动flashpolicyserver,1:启动,2:不启动
;用flash与服务器交互时,会用到,譬如基于flash的播放器 (jwplayer等)start.flash.policy.server=2
;网站地址 域名,带https
site=https://k.foxcodes.cn
;1、用户通过http-api服务器上传的文件会存在这个目录下
;2、用户访问这些资源只通过nginx访问,并不经过http-api服务器
;3、对照upload.tiocloud.com.conf一起理解,此值与upload.tiocloud.com.conf文件的”server -> location -> root”配置值一样
;4、upload.tiocloud.com.conf在all工程的resources文件夹中,此处大概率要修改location / { root /home/www/upload; index index.html index.htm; etag on;
res.root=/home/www/upload
;用于维持tio http session的cookie name,可以不用修改
;1、如果开发环境和测试环境的主域名一样,不同环境建议设置不同值,这样同时访问两个环境时cookie不会相互干扰(建议修改)http.session.cookie.name=tio_lys_session
;视图资源目录,包含html, js, css, 图片等,其中非myres目录下的html、js、css是支持freemarker的(此处大概率修改,部署是我们需把all/target/tio-sitex-all下的所有文件上传到服务器,此处应修改为 tio-site-all所在目录/config/config/page)
http.view.page=/home/www/config/config/page
; cookie域名,生产环境应该是.tiocloud.com
http.cookie.domain=.foxcodes.cn
数据库相关必改不赘述
app.host
; 有域名则配域名,(最好域名)
my.ip=k.foxcodes.cn
;file of keystore,如果以classpath:开头,则从classpath中查找,否则从文件路径中查找
;不建议打包到jar,方便证书重置,因为我是从letsencrypt获取的半年期的ssl certificate
ssl.keystore=/home/www/k.foxcodes.cn.jks
ssl.truststore=/home/www/k.foxcodes.cn.jks
; password for keystore
ssl.pwd= 在生成jks时设置并记录在此
app
默认就好,但是注意把服务器的9325端口的tcp开放。相关端口如果还有修改,请注意nginx.conf需对应修改。
http.api.port = 6060
http.view.port = 10160
logback
默认就好。
log.dir=/logs/tio-sitex ;注意运行应用的用户要有读写权限
mkdir -p /logs/tio-sitex
chown && chmod
nginx.conf
1、建议建议加上
user www; #你的nginx运行用户,建议跟启动应用的用户一致
2、如果不想你的freemarker模板暴露,
set $pagesdir /home/www/config/config/page;
此处的目录可以跟模板的位置不一致。我这里暂时图方便
3、若使用letsencrypt,以下需按证书替换说明进行配置替换
ssl_certificate cert/cert-1541497818718.cn.crt;
sslcertificate_key cert/cert-1541497818718.cn.key;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384….
4、注意开放日志端口,如果修改了相关 location root配置,看日志子站也需相应调整
upload.tiocloud.com.conf
主要是证书和location root的调整,此处若使用了七牛云等云存储服务,就无需配置。先挖一个坑。
server {
listen 80;
server_name k.foxcodes.cn;
location /{
root /tmp/cert;#可以777
}
}
server {
listen 80;
server_name res.foxcodes.cn;
location /{
root /tmp/cert;
}
}
注意该配置文件中不要出现非ascii字符
3. 启动或重启nginx
```c
nginx -t
nginx -s reload
以root权限执行 certbot —nginx , 按提示即可
查看nginx.conf,自动添加了类似下面的内容
ssl_certificate /etc/letsencrypt/live/k.foxcodes.cn/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/k.foxcodes.cn/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
以上内容可以直接拷贝替换证书相关配置
1、
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out pkcs.p12 -name NAME
2、keytool -importkeystore -deststorepass SAMEPASSWORD -destkeypass SAMEPASSWORD -destkeystore keystore.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -srcstorepass SAMEPASSWORD -alias NAME
注意SAMEPASSWORD替换成你的密码,并将app-host.properties文件相应的地方进行修改。
把生成的keystore.js拷贝到你的应用有权读的目录下,并将绝对路径配置到app-host中,如下:
ssl.keystore=/你的.jks
ssl.truststore=/你的.jks
感谢谭总的付出,启动请参考谭总官方指南。有问题群里交流。
最新评论 我的评论
t-io为本站提供HTTP、WebSocket、Socket、页面渲染与压缩等服务,nginx为本站提供反向代理服务
© 2017-2021 钛特云 版权所有 | 浙ICP备17032976号 | 浙公网安备 33011802002129号