腾讯云服务器tomcat9安装ssl证书,https访问,通过nginx反向代理方式

说在前面的话:
其实吧,东西必须有说明,否则都不知道怎么用,如果没有直接的说明,我们可以间接来做。(这才是正确的食用方法,如果看不懂可以加qq聊:1021752458)

开始

需求:我把web项目部署到腾讯云服务器上(ubuntu)的webapps下了,但要求得用https访问。
官方文档有文档,但是以tomcat7.0为例的,我用的是tomcat9,官方没提供安装说明,懒人一个,不愿意去翻官方文档里,(下面提供一种解决方式)
(2020-4-10更新–>tomcat9安装ssl证书

这时候用nginx来解决就可以,腾讯云的nginx的文档没问题!(别看到nginx就不看了,这里只用到了最基本的东西,就是映射一下端口就可以。)

tomcat保持默认就好,仍然为8080端口

重点:nginx还可以完成80端口和443端口的开放。(没必要一直折腾tomcat的配置文件)

安装nginx: apt install nginx
配置文件在/etc/nginx/sites-available下那个default就是。
配置文件中本来就有一个server 是监听80端口的,这时你再添加一个server 443端口。代码如下
(假设你的域名是www.XXX.CN)

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name localhost;

        location / {
        		#!!!!!这部分注解掉!!!!!!	
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                #try_files $uri $uri/ =404;
				#!!!!!此处可以将80端口映射到8080,也就是监听了80端口
                proxy_pass http://localhost:8080;
        }
}
server {
     #SSL 访问端口号为 443
     listen 443;
     #填写绑定证书的域名
     server_name www.XXX.CN;
     #启用 SSL 功能
     ssl on;
     #证书文件名称
     ssl_certificate 1_www.XXX.CN_bundle.crt;
     #私钥文件名称
     ssl_certificate_key 2_www.XXX.CN.key;
     ssl_session_timeout 5m;
     #请按照这个协议配置
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;
     location / {
     #!!!!重点在这!!!代理到8080端口
         proxy_pass  http://localhost:8080;
     }
 }

运行sudo nginx -t检查配置文件有没有错误

然后把你的文件部署到tomcat,启动tomcat。
然后启动nginx

sudo systemctl start nginx

另外说明:关闭nginx是sudo systemctl stop nginx

好了,去浏览器输入 https://你的ip/项目名 访问吧

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值