Ubuntu 14.04下配置Ngin X反向代理连接TOMCAT集群

来源:互联网 发布:mac裸色唇膏试色 编辑:程序博客网 时间:2024/06/05 06:56

这里记录一下使用Ngin X作为反向代理连接TOMCAT集群,并配置通过HTTPS进行连接。

说一下我的环境:3台server,都是ubuntu 14.04 server。

1.安装Ngin X

使用如下命令安装NginX

sudo apt-get install nginx

2.配置SSL访问Ngin X

2.1 生成证书和密钥文件

我们使用openssl工具来生成密钥和证书文件。这里参考了其它人的博客:

(1)首先使用如下命令生成私钥文件

openssl genrsa -des3 -out server.key 1024
(2)再使用如下命令生成csr(证书签发请求)文件,这个命令会让你填写一些个人和单位的信息

openssl req -new -key server.key -out server.csr
(3)使用如下命令将原来的私钥拷贝,并生成一个不需要输入密码的私钥文件
cp server.key server.key.orgopenssl rsa -in server.key.org -out server.key
(4)使用如下命令,签发一个自己签名的crt证书文件

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

2.2 配置/etc/nginx/sites-enabled/default文件

在文件中添加如下的代码:注意修改ssl_certificate和ssl_certificate_key和root。

server {        listen 443;        server_name localhost;        root /usr/share/nginx/html;        index index.html index.htm;        ssl on;        ssl_certificate /home/cyber_space/KEYS/server.crt;        ssl_certificate_key /home/cyber_space/KEYS/server.key;        ssl_session_timeout 5m;        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;        ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";        ssl_prefer_server_ciphers on;        location / {                try_files $uri $uri/ =404;        }}
保存完后,可使用如下命令来重新加载nginx服务器的配置文件

sudo /etc/init.d/nginx reload
之后,可在浏览器里输入https://服务器IP/ 来访问你的服务器,浏览器可能提示证书信任风险,添加到例外即可,如果成功了,就说明已经正确配置SSL/TSL了。

3.配置Ngin X负载均衡转发

配置/etc/nginx/sites-enabled/default文件。这里,注意要把root和index删除。

upstream backend{        least_conn;        server namenode:8080 weight=1; #slow_start=10s;        server cloud2:8080 weight=2; #slow_start=10s;}server {        listen 443;        server_name localhost;        #root /usr/share/nginx/html;        #index index.html index.htm;        ssl on;        ssl_certificate /home/cyber_space/KEYS/server.crt;        ssl_certificate_key /home/cyber_space/KEYS/server.key;        ssl_session_timeout 5m;        ssl_session_cache shared:SSL:10m;        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;        ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";        ssl_prefer_server_ciphers on;        proxy_ssl_session_reuse on;        location / {                proxy_pass http://backend;                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;        }}

保存配置文件后,使用如下命令,更新服务器即可

sudo /etc/init.d/nginx reload


0 0