美文网首页
使用 Nginx 反向代理 Tomcat

使用 Nginx 反向代理 Tomcat

作者: SkyRiN | 来源:发表于2018-06-08 19:43 被阅读38次

概述

最近由于业务需求,需要将 Tomcat 的 8080 端口映射到 443 ,直接通过 https 访问,由于在 Tomcat 配置折腾数次未果,于是想到通过 Nginx 反向代理实现,成功实现后做如下备忘记录

服务器获得 CA 证书

之前服务器已经使用 Certbot 生成了证书,具体可以参考使用 Certbot 安装 Letsencrypt 证书,完成 Letsencrypt 证书安装后,在 /etc/letsencrypt/live/example.com/ 下应该有四个证书相关文件

cert.pem
chain.pem
fullchain.pem
privkey.pem

Copy 证书文件

在 nginx 配置目录下新建目录 cert/ 来存放证书和密钥文件

mkdir /etc/nginx/cert

复制证书文件到此目录并重命名

cd /etc/nginx/cert
cp /etc/letsencrypt/live/example.com/fullchain.pem ./server.pem
cp /etc/letsencrypt/live/example.com/privkey.pem ./privkey.key

Nginx 代理配置

新建配置文件

cd /etc/nginx/sites-available
touch wtf443

编辑配置文件

vim wtf443

填入如下内容

server {
    listen 443;
    server_name 127.0.0.1;
    ssl on;
    root /var/www/wtf443;
    index index.html index.htm;
    ssl_certificate  cert/server.pem;
    ssl_certificate_key cert/privkey.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass http://127.0.0.1:8080;
        #index index.html index.htm;
    }
}
server {
    listen 80;
    server_name 127.0.0.1;
    rewrite ^(.*)$ https://$host$1 permanent;
}

使配置生效

完成如上配置后 wtf443 并不生效,还需要在 /etc/nginx/site-enable 目录下添加此文件的软链接

ln -s /etc/nginx/sites-available/wtf443

然后进行如下操作

nginx -t // 检查nginx配置文件是否正确
nginx -s reload // 使配置生效
service nginx restart // 重启 nginx

总结

经过如上操作后,正常情况下就能通过 https://example.com 访问 Tomcat 了,如果不能,先确定 http://example.com:8080 是否能访问 Tomcat ,然后确认 https://example.com 未做代理之前是否能访问

相关文章

  • Tomcat

    方案二: Nginx+Tomcat方案三: 使用nginx做反向代理负载均衡 建议使用Nginx和Tomca...

  • 第十九周作业

    1、搭建Tomcat集群,并通过nginx反向代理访问 反向代理示意图 测试环境: Nginx: 172.16.1...

  • nginx反向代理2台tomcat实践(使用docker-com

    title: nginx反向代理2台tomcat实践(使用docker-compose)date: 2016-12...

  • 配置LNMT,LAMT反向代理

    如何使用NGINX反向代理用户请求至Tomcat的http连接器的8080端口完成反向代理 (一) 虚拟机node...

  • nginx & tomcat 获取正确端口号

    我们经常会使用 nginx 作为反向代理,为 tomcat 提供负载均衡功能。但是往往,nginx 对外提供的协议...

  • nginx反向代理tomcat访问报错400

    一、 错误环境说明   之前一直在用nginx反向代理tomcat7.0.76。今天使用的是tomcat7.0....

  • 第二十周

    1、搭建Tomcat集群,并通过nginx反向代理访问 测试环境: Nginx: 172.16.100.151 T...

  • 使用 Nginx 反向代理 Tomcat

    概述 最近由于业务需求,需要将 Tomcat 的 8080 端口映射到 443 ,直接通过 https 访问,由于...

  • spring-boot ssl

    简介 服务采用nginx反向代理+tomcat做web container 方案 nginx层,需要增加支持 注意...

  • nginx 502 bad gateway

    nginx +tomcat 部署到centos上,nginx做反向代理,登录系统,报错 "502 bad gate...

网友评论

      本文标题:使用 Nginx 反向代理 Tomcat

      本文链接:https://www.haomeiwen.com/subject/kgtzsftx.html