Tomcat 已经配好了 HTTPS , Nginx 还需要怎么配?

红薯 发布于 2012/02/28 13:58
阅读 2K+
收藏 8

已经在 Tomcat 配好了可以通过 HTTPS 访问。

Nginx 在 Tomcat 前端负责处理静态文件和负载均衡

Nginx 需要怎么配置能同时支持 HTTP 和 HTTPS 方式访问 Tomcat 呢?

网上的文章多数是介绍 Nginx 独立配置 HTTPS 的,而使用普通的 HTTP 反向代理到 Tomcat。但由于 一些应用逻辑使得必须在 Tomcat 上来配置 HTTPS

相当于我希望 Nginx 和 Tomcat 之间走的是 HTTPS 方式通讯

加载中
0
红薯
红薯

http://wiki.nginx.org/HttpProxyModule

这里有一个配置是不起作用的

upstream backend-secure {
  server 10.0.0.20:443;
}
 
server {
  listen 10.0.0.1:443;
  location / {
    proxy_pass https://backend-secure;
  }
}

看来还是必须在 Nginx 上配置 SSL 支持了 :(

0
红星xx
红星xx

nginx.conf

location / {
	try_files $uri @tomcat;
	}

location @tomcat {
	internal;
	proxy_pass https://127.0.0.1:443;
	include proxy.conf;
	}

location ~ .*\.(jsp|jhtml)?$
	{
		proxy_pass https://127.0.0.1:443;
		include proxy.conf;
	}

proxy.conf

proxy_connect_timeout 30s;
proxy_send_timeout   90;
proxy_read_timeout   90;
proxy_buffer_size    32k;
proxy_buffers     4 32k;
proxy_busy_buffers_size 64k;
proxy_redirect     off;
proxy_hide_header  Vary;
proxy_set_header   Accept-Encoding '';
proxy_set_header   Host   $host;
proxy_set_header   Referer $http_referer;
proxy_set_header   Cookie $http_cookie;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

这样子试一试

红薯
红薯
试过了,不可以的
0
红薯
红薯
搞定了,在 Nginx 也必须配置!!!
ssl                  on;
ssl_certificate      C:\oschina.crt;
ssl_certificate_key  C:\oschina.key;
i-w
i-w
回复 @红薯 : 啊?、、、、、我去
红薯
红薯
回复 @i-w : 不记得了:)
i-w
i-w
@红薯 记得你写了一篇osc的https登录的文章。地址是啥啊。。。。找了半天没找到
0
皮总
皮总
只需要配 nginx 即可,不需要在 tomcat 上启用 ssl
皮总
皮总
@红薯 大哥,我错了!
红薯
红薯
看我在文中的说明:)
0
宝贝兔
宝贝兔

我现在也遇到这个问题,tomcat单独访问https是没问题,没使用https之前,nginx的负载均衡也是好用的。

现在nginx已经加了ssl 证书,单独访问https的静态页面也是可以的。

可负载均衡总是没法正确引导到tomcat上,请问覆盖均衡部分在https的时候有哪些要注意的呢?


谢谢。

返回顶部
顶部