资讯专栏INFORMATION COLUMN

centos7+nginx反向代理tomcat+https://域名访问

entner / 1401人阅读

目 标:实现“https://域名”访问tomcat主页
OS环境:centos7.4(腾讯云服务器)
软件准备(离线包):tomcat8 jdk1.8 nginx1.14 pcre(pcre2应该也行)
工具:filezilla(FTP工具) Scrt(SSH工具)
nginx下载:http://nginx.org/en/download....

整体步骤
一、实现域名访问:要申请一个域名,腾讯云申请个域名( 有1元的优惠活动)
二、实现https:要申请SSL证书,腾讯云申请个SSL证书(有免费的DV证书)
三、安装jdk+tomcat
四、实现nginx反向代理:安装并配置nginx

详细步骤
一、申请域名
1、购买域名
2、域名解析
3、备案(要是微信小程序则需要备案)
有固定IP的服务器可以选择www,没有的选择系统提供的TXT码
我都是腾讯申请的,假设域名为hello.club

www解析之后就访问www.hello.club
二、申请SSL证书
购买域名时送SSL证书,如果没送,申请个免费证书
证书申请完后,下载证书并解压,本次我们用Nginx下的证书文件

三、安装jdk+tomcat,下载离线包上传安装就行,记得修改下jdk的环境变量
四、实现nginx反向代理,安装nginx并配置
1、安装编译环境make zlib libtool g++ openssl

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

2、安装pcre
1)把pcre的包放到/usr/src/下(也可以用wget直接下载)然后解压

[root@VM_0_11_centos src]# tar zxvf pcre-8.35.tar.gz 

2)接着进入安装目录,编译安装

[root@VM_0_11_centos pcre-8.35]# ./configure
[root@VM_0_11_centos pcre-8.35]# make && make install

3)安装完成后查看版本

[root@VM_0_11_centos pcre-8.35]# pcre-config --version

3、安装nginx
1)把nginx包放到我/usr/scr/下(也可以用wget直接下载),然后解压

[root@VM_0_11_centos src]# tar nginx-1.14.0.tar.gz 

2)解压后进入安装目录,编译安装,默认安装目录/usr/local/nginx

[root@VM_0_11_centos nginx-1.14.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@VM_0_11_centos nginx-1.14.0]# make && make install

3)安装成功后查看版本

/usr/local/nginx/sbin/nginx -v

4)查看nginx是否启动

[root@VM_0_11_centos sbin]# ps -ef|grep nginx 
root     18290 18191  0 21:34 pts/5    00:00:00 grep --color=auto nginx

5)启动

[root@VM_0_11_centos sbin]# ./nginx

6)访问主页,默认80端口

4、实现nginx配置https,并反向代理tomcat
1)把证书下的crt文件和key文件传到/usr/local/nginx/conf下,并修改配置文件nginx.conf,增加以下内容(放在server { listen 80...}之上就行)
www.hello.club 是我们之前申请的域名

    upstream tomcat1 {
    server 127.0.0.1:8080 fail_timeout=0;
}
    server {
        listen 443;
        server_name www.hello.club;  #修改域名
        ssl on;
        ssl_certificate 1_hello.club_bundle.crt; #修改证书文件
        ssl_certificate_key 2_hello.club.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 / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-Forwarded-Proto https;
                proxy_redirect off;
                proxy_connect_timeout      240;
                proxy_send_timeout         240;
                proxy_read_timeout         240;
                # note, there is not SSL here! plain HTTP is used
                proxy_pass http://tomcat1;  #修改配置,与上面tomcat1一致
        }
    }

2)修改tomcat配置文件
redirectPort改为443,并增加proxyPort="443"

    

redirectPort改为443

3)重启tomcat,重启nginx,访问域名,OK了。

4)需要部署应用,放到tomcat下即可。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40144.html

相关文章

  • centos7 安装nginx并配置代理

    摘要:由此而来,部署一个代理服务器势在必行。本文对的安装和配置进行简单整理,希望对初学者有帮助。通过方式在线安装需要注意的一点是,并不在的安装源中。配置完成之后,记得要重启。 前言 笔者在国外租了一个虚机,用来部署自己的博客应用,并申请了一个域名51think.net来指向这个虚机。随着部署的应用越来越多,而80端口只有一个,无法直接通过域名去访问不同的应用。由此而来,部署一个代理服务器势在...

    lylwyy2016 评论0 收藏0

发表评论

0条评论

entner

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<