1.安装certbot##
yum install certbot
2.生成证书##
cd letsencrypt
./letsencrypt-auto certonly --standalone --email 邮箱@***.com -d 域名.com -d *.域名.com
执行证书命令时先关闭nginx
3.添加txt解析##
按照提示,前往域名后台添加对应的DNS TXT记录,不要着急按回车!!!
成功后证书存放在/etc/letsencrypt/live/xxx.com/里面
cert.pem 服务器证书文件
privkey.pem 服务器证书的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书
fullchain.pem 服务器证书的全部证书链文件
4.配置nginx 代理tomcat##
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name ****.com;
rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https
return 301 https://$http_host$request_uri;
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
server {
listen 443 ssl;
server_name *****.com;
ssl_certificate /etc/letsencrypt/live/****.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/****.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定SSL服务器端支持的协议版本
#ssl_ciphers HIGH:!aNULL:!MD5;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #指定加密算法
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on; #在使用SSLv3和TLS协议时指定服务器的加密算法要优先于客户端的加密算法
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
}
}
网友评论