Linux+Nginx+tomcat配置https证书

1.         首先要有域名,使用域名解析IP地址

2.         阿里云获取免费证书

a.      在阿里云控制台,产品与服务,选择CA证书服务

image.png

b.         购买证书

image.png

c.          选择类型,立即购买

image.png

d.         补全证书(注意是系统生成crs)

image.png

e .审核成功后,选择下载进入下载证书页面

image.png

f.选择Nginx/Tengine的下载证书for Nginx

image.png

 

image.png

证书文件214565257830210.pem

证书私钥文件214565257830210.key

3.         安装linux最基础环境(jdk,tomcat,mysql)

4.         安装nginx 配置

一、安装准备

 

    首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

 

                        yum install gcc-c++

                        yum install pcre pcre-devel

                        yum install zlib zlib-devel

                        yum -y install openssl openssl-devel

 

 

二、安装Nginx

 

    安装之前,最好检查一下是否已经安装有nginx

                        Find -name nginx  

 

    如果系统已经安装了nginx,那么就先卸载

                        yum remove nginx  

 

    首先进入/usr/local目录

                        cd /usr/local

 

    从官网下载最新版的nginx

                        wget http://nginx.org/download/nginx-1.7.4.tar.gz

 

    解压nginx压缩包

                        tar -zxvf nginx-1.7.4.tar.gz

 

    会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录

                        cd nginx-1.7.4

 

安装一些ssl模块用来支持https

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  --with-http_realip_module

 

    make

                    make install

 

    如果没有报错,顺利完成后,最好看一下nginx的安装目录

                        whereis nginx

 

    把proxy.conf传入 /usr/local/nginx/conf

 

在/usr/local/nginx 下创建cert文件夹,将安全证书.key和.pem传入进来

在/usr/local/nginx  下创建html文件夹,用于放入项目的静态资源

进入/usr/local/nginx/conf 下配置nginx.conf 配置文件如下

 

 

 

user  root;

worker_processes  8;

 

events {

    worker_connections  10240;

}

 

 

http {

    include       mime.types;

    default_type  application/octet-stream;

#此为proxy.conf文件的路径

include /usr/local/nginx/conf/proxy.conf;

 

    sendfile        on;

 

    keepalive_timeout  65;

 

#配置tomcat访问地址

upstream  backend{      

        #ip_hash;

        server 127.0.0.1:8080;

    } 

 

server {

listen 80;

#写入域名地址

server_name xxx.xxx.xxx;

#配置https://前缀

rewrite ^(.*)$ https://${server_name}$1 permanent;

}

 

 

server {

 

listen 443;

#写入域名地址

server_name xxx.xxx.xxx;

 

ssl on;

 

root html;

 

index index.html index.htm;

#写入证书文件地址以.pem结尾的路径

ssl_certificate /usr/local/nginx/cert/xxx.pem;

#写入证书秘钥文件地址以.key结尾的路径

ssl_certificate_key /usr/local/nginx/cert/xxx.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 / {

root   html;

index  welcome.jsp index.html index.htm;

 

#设置主机头和客户端真实地址,以便服务器获取客户端真实IP

 

proxy_set_header Host $host;

 

proxy_set_header X-Real-IP $remote_addr;

 

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 

proxy_pass http://backend;   

 

}

 

        location ~ .*.jsp$ {

index welcome.jsp;

proxy_pass http://localhost:8080;

        }

 

error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

            #expires      30d;

            #这目录是我web服务器的项目位置,这里的目录需要最好和web服务器的静态资源的目录一样,当请求web服务器的css文件的时候,nginx会获取url地址,然后根据url地址去                

            #访问url对应的本地目录资源/这里就是nginx访问的静态资源地址

            root html;

            if (-f $request_filename) {

               expires 1d;

               break;

            }

        }

 

location ~ .*\.(js|css)?$

        {

#expires      1h;

root html;

if (-f $request_filename) {

expires 1d;

break;

}

        }

}

 

 

 

}

 

 

 

三 注意事项和启动关闭nginx

安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。

 

    开启nginx:/usr/local/nginx/sbin/nginx

 

查看80端口程序:netstat -tulnp | grep ':80 '

查看433端口程序:netstat -tulnp | grep ':433'

                若安装成功,则80和443端口都会启动起来

pkill -9 nginx          :强制停止Nginx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值