Nginx+Tomcat服务器环境中配置https访问

一.Nginx + https + 免费SSL证书配置指南

生成证书

$ cd /usr/local/nginx/conf
$ openssl genrsa -des3 -out server.key 1024
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key
-out server.crt

编辑 nginx.conf

server {
server_name YOUR_DOMAINNAME_HERE;
listen 443;
ssl on;
ssl_certificate /etc/nginx/conf/server.crt;
ssl_certificate_key  /etc/nginx/conf/server.key;
}

OK, 完成了。但这样证书是不被信任的,要被信任还需要购买相关证书(http://www.godaddy.com/ssl/ssl-certificates.aspx?ci=8979)

验证配置:

https://127.0.0.1

二.Tomcat SSL配置

1. 生成 server key :
以命令行方式切换到目录%TOMCAT_HOME%,在command命令行输入如下命令(jdk1.4以上带的工具):

keytool -genkey -alias tomcat -keyalg RSA -keypass
junguoguo.com -storepass junguoguo.com -keystore server.keystore
-validity 3600

keypass 和 storepass  两个参数后面跟的是密码。
用户名输入域名,如localhost(开发或测试用)或hostname.domainname(用户拥有的域名),其它全部以 enter 跳过,最后确认,此时会在%TOMCAT_HOME%下生成server.keystore 文件。
注:参数 -validity 指证书的有效期(天),缺省有效期很短,只有90天。

配置TOMCAT 

修改%TOMCAT_HOME%confserver.xml,以文字编辑器打开,查找这一行:

将之后的那段的注释去掉,并加上 keystorePass及keystoreFile属性。

注意,tomcat不同版本配置是不同的:

Tomcat4.1.34配置:

"5"><Connector className=”org.apache.coyote.tomcat4.CoyoteConnector”
       port=”8443″ enableLookups=”true” scheme=”https” secure=”true”
       acceptCount=”100″
       useURIValidationHack=”false” disableUploadTimeout=”true”
       clientAuth=”false” sslProtocol=”TLS”
       keystoreFile=”server.keystore”
       keystorePass=”changeit”/>

Tomcat5.5.9配置:

<Connector port=”8443″ maxHttpHeaderSize=”8192″
                   maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″
                   enableLookups=”false” disableUploadTimeout=”true”
                   acceptCount=”100″ scheme=”https” secure=”true”
                   clientAuth=”false” sslProtocol=”TLS”
                   keystoreFile=”server.keystore”
                   keystorePass=”changeit”/>

Tomcat5.5.20配置(此配置同样可用于Tomcat6.0):

<Connector protocol=”org.apache.coyote.http11.Http11Protocol”
                             port=”8443″ maxHttpHeaderSize=”8192″
                   maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″
                   enableLookups=”false” disableUploadTimeout=”true”
                   acceptCount=”100″ scheme=”https” secure=”true”
                   clientAuth=”false” sslProtocol=”TLS”
                   keystoreFile=”server.keystore”
                   keystorePass=”changeit”/>

Tomcat6.0.10配置:

<Connector protocol=”org.apache.coyote.http11.Http11NioProtocol”
                   port=”8443″ minSpareThreads=”5″ maxSpareThreads=”75″
                   enableLookups=”true” disableUploadTimeout=”true”
                   acceptCount=”100″  maxThreads=”200″
                   scheme=”https” secure=”true” SSLEnabled=”true”
                   clientAuth=”false” sslProtocol=”TLS”
                   keystoreFile=”D:/tools/apache-tomcat-6.0.10/server.keystore”
                   keystorePass=”changeit”/>

tomcat6支持3种,请参考以下文档:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

验证配置 :访问 https://127.0.1.1:8443/

三。综合配置

前段静态内容处理:nginx 配置

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    server_tokens   off;
    gzip            on;
    gzip_static     on;
    gzip_comp_level 5;
    gzip_min_length 1024;
    keepalive_timeout  65;
    limit_zone   myzone  $binary_remote_addr  10m;
    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;
server {
    listen       80;
    server_name  localhost;
        location ~ .(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf)$ {
                index index.jsp index.html;
                root /home/tomcat/webapps;
                access_log off;
                expires 24h;
        }#nginx处理静态内容         location /{
                proxy_pass http://127.0.0.1:8080; #提交给后端的tomcat处理         }
}

验证配置: https://127.0.0.1

时间: 2024-10-02 04:21:00

Nginx+Tomcat服务器环境中配置https访问的相关文章

OkHttp配置HTTPS访问+服务器部署

目录 1 概述 2 OkHttp介绍 3 准备工作 4 OkHttp部分 4.1 暴力方案 4.2 推荐方案 4.2.1 HostnameVerifier 4.2.2 X509TrustManager 5 服务器部署 5.1 上传工程 5.2 Tomcat配置 6 验证与源码 7 常见问题 7.1 Tomcat HTTPS无法访问 7.2 OkHttp HTTPS无法访问 8 参考链接 1 概述 OkHttp配置HTTPS访问,核心为以下三个部分: sslSocketFactory() Host

Tomcat正式环境中需要注意的关键配置

涉及:端口.连接超时.URL编码.处理线程.上传数据限制.JVM <Connector  port="8088"  protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443"  URIEncoding="UTF-8"  maxThreads="1000"  acceptCount="1000&qu

Nginx+Tomcat服务器负载均衡实践方案

1.    为何选择Nginx+Tomcat做负载均衡? 1.1. Nginx是什么? Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户

Linux--centos6.5 安装nginx+tomcat 服务器整合

Linux*centos6.5 安装nginx+tomcat 服务器整合 前言:研究了2天也出现过很多错误,网上的资料很多但是都不是很全,我是拼凑出来在结合自己的理解配置出来的,怕以后忘了记载在这里,如有不对的地方还请包涵. 一.首先,你要安装jdk(我的版本问1.8)自己到官网下载(我是root的权限). 我的服务器环境为---centos 6.5 64 [[email protected] ROOT]# rpm -ivh jdk-8u60-linux-x64.rpm [[email prot

Nginx+Tomcat+MemCached 集群配置手册

系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目    录 第1章   概述 1.1   目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架构时会应用很多高性能的产品, 本文主要描述互联网架构中门户应用的集群的配置工作,最终用以指导系统实施. 1.2   预期读者 本文档用于指导系统工程师进行系统实施工作,架构师和系统工程师应该通读本文档,选择适当版本用于自己的系统架构. 第2章   产品介绍 2.1   Nginx介绍 Nginx是一

Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

Nginx+Tomcat+Memcached负载均衡配置完整流程: 前言: Nginx实现Tomcat的负载均衡和利用memcached实现session共享. 首先配置tomcat,JDK 将jdk,tomcat 放入站点/opt目录中 安装JDK cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version      //检验版本 安装Tomcat tar -zxf apache

IIS、apache、tomcat服务器虚拟主机配置

首先我们有一个域名  xxx.com;(注,两个一级域名不相同也可以)有两个二级域名   priject.xxx.com 和 movie.xxx.com有一台主机 ,现在假设访问主机电脑 IIS服务器虚拟主机配置方法1.在IIS中添加网站其中  绑定一栏中的主机名为 priject.xxx.com,在分配好网站的文件路径 2.添加isapi筛选器其中可执行文件位置为php的安装位置3.处理程序映射->添加脚本映射4.最后重启IIS服务器,就可以用域名访问了再添加站点,同样的步骤. tomcat服

在工作组的环境中配置Windows 2012 R2的远程桌面服务

在工作组的环境中配置Windows 2012 R2的远程桌面服务How to configure Remote Desktop Service in Windows 2012 R2 workgroup 今天正好有需要配置一台Windows 2012 R2的终端服务器,不过是在工作组中.本来以为没什么问题,最多配置界面比较难找一些.(Windows 2012开始的终端服务/远程桌面服务的管理界面和之前版本的Windows差异巨大.)结果遇到了不少麻烦.在安装好服务器角色后,包括Remote Des

Ubuntu14.04服务器环境下配置方法如下:

这篇文章主要介绍了Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法,较为详细的分析了Ubuntu14.04操作系统环境下配置PHP7.0+Apache2+Mysql5.7的具体步骤与相关命令使用技巧,需要的朋友可以参考下 本文实例讲述了Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法.分享给大家供大家参考,具体如下: 这里为Ubuntu14.04系统下配置PHP7.0+Apache2+Mysql5.7,主要目的是