Nginx配置多个服务器的服务,并且配置对应的SSL证书

本文详细介绍了如何在Nginx中配置多个Tomcat服务的负载均衡,包括HTTP和HTTPS监听设置,以及SSL证书配置。同时,还提供了修改Tomcat server.xml文件的方法,以实现与Nginx的无缝对接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先到nginx的的配置文件页面

vi /etc/nginx/conf.d

配置多个服务,配置如下

upstream tomcat {                      # 负载均衡站点的名称为tomcat,可以自己取
   server xxx.xxx.xxx.xxx:8080;       # web服务器的IP地址及tomcat发布端口
   ip_hash;
}

upstream tomcat2{                      # 负载均衡站点的名称为tomcat2,可以自己取
   server localhost:8080;       # web服务器的IP地址及tomcat发布端口
   ip_hash;
}

# 第一个服务 监听和域名配置
server {
    listen       80;                   # 站点侦听端口80
    server_name  www.xxxx.net;            # 站点域名名称
 
    location / {
        root   html;
        index  index.html index.htm;
        proxy_set_header Host      $host;
        proxy_pass http://tomcat;      # 负载均衡指向的发布服务tomcat
    }
}

server {
    listen       80;                   # 站点侦听端口80
    server_name  www.xxxx2.net;            # 站点域名名称
 
    location / {
        root   html;
        index  index.html index.htm;
        proxy_set_header Host      $host;
        proxy_pass http://www.xxxx2.net:8080;      # 负载均衡指向的发布服务域名,附带8080,后续就可以直接域名访问
    }
}



server {
     listen 443 ssl;
     server_name www.xxxx.net;
     ssl_certificate /ssl/xxx1.pem;  
     ssl_certificate_key /ssl/xxx1.key;
     ssl_session_timeout 5m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
     ssl_prefer_server_ciphers on;


     location / {
        root    html;
        proxy_pass http://tomcat;                       # 负载均衡指向的发布服务tomcat
    }
}


server {
     listen 443 ssl;
     server_name www.xxxx2.net;
     root /data/apache-tomcat-9.0.27/webapps/projectName;  # 项目工程所在位置
     ssl_certificate /ssl/xxx2.pem;  # 配置证书中心提供的pem文件的所在位置
     ssl_certificate_key /ssl/xxx2.net.key;  # 配置证书中心提供的key文件的所在位置
     ssl_session_timeout 5m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
     ssl_prefer_server_ciphers on;


     location / {
        root    html;
        proxy_pass http://www.xxxx2.net:8080;                       # 负载均衡指向的发布服务域名   ,附带8080,后续就可以直接域名访问 
    }
}

另外修改tomcat的配置server.xml

找到
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
修改为:
<Host name="你的域名"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

以及在该<Host>...</Host>标签内添加<Context />标签
<Context path="" docBase="/myApp" />


docBase属性填写你的项目位置,最好是绝对路径即...../webapps/myApp。

完成以上配置  重启tomcat  然后重新加载nginx配置  

检查nginx是否有错  

nginx -t  

 nginx 重新加载

nginx -s reload

大功告成!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值