nginx代理,wildfly做web容器实现网站输入域名跳转到https的域名

应公司要求想要实现用户输入域名访问网站,自动跳转到https加域名的网页,因为添加了ssl,能显示公司的名称。我的操作方法是把ssl放到web容器中,前面加一个nginx做代理,将所有到80端口的请求,转到web容器的443的端口上。

配置web容器的方法在之前写过,参考《wildfly用https的方式访问》,链接:http://881955.blog.51cto.com/871955/1670069

安装wildfly的方式

yum install java-1.8.0-openjdk-devel

Wget http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.zip

unzip wildfly-8.2.0.Final.zip -d /opt/

ln -s /opt/wildfly-8.2.0.Final /opt/wildfly

cp /opt/wildfly/bin/init.d/wildfly.conf /etc/default/wildfly.conf\

Vim  /etc/default/wildfly.conf

## Location of JDK

JAVA_HOME="/usr/lib/jvm/java"

## Location of WildFly

JBOSS_HOME="/opt/wildfly"

## The username who should own the process.

JBOSS_USER=wildfly

## The mode WildFly should start, standalone or domain

JBOSS_MODE=standalone

## Configuration for standalone mode

JBOSS_CONFIG=standalone-full-ha.xml

## Configuration for domain mode

# JBOSS_DOMAIN_CONFIG=domain.xml

# JBOSS_HOST_CONFIG=host-master.xml

## The amount of time to wait for startup

STARTUP_WAIT=60

## The amount of time to wait for shutdown

SHUTDOWN_WAIT=60

## Location to keep the console log

JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"

Cp /opt/wildfly/bin/init.d/wildfly-init-redhat.sh /etc/init.d/wildfly

chkconfig --add wildfly

chkconfig wildfly on

mkdir -p /var/log/wildfly

useradd  -s /sbin/nologin wildfly

chown -R wildfly:wildfly /opt/wildfly-8.2.0.Final

chown wildfly:wildfly /opt/wildfly

chown wildfly:wildfly /var/log/wildfly

Start WildFly

service wildfly start

安装完wildfly后安装nginx,nginx的安装方法不在赘述,不过我在阿里云上部署的时候遇到一点问题,在我本地虚拟机上做测试的时候源码nginx,yun包的pcre和zlib安装时成功的,但是在阿里云上这么操作就部可以,提交工单询问后,解释为不能源码包和yum包混用。无奈直接用yum安装nginx。

Nginx比较关键的地方是配置代理部分:配置如下

由于我后面的web容器需要监听443,那么我nginx需要鉴定80端口

# HTTPS server

server {

listen       80;

server_name  10.10.10.34;

ssl                  on;

ssl_certificate   crt文件路径

ssl_certificate_key  key文件路径

ssl_session_timeout  5m;

error_page 497  https://10.10.10.34;

#    ssl_protocols  SSLv2 SSLv3 TLSv1;

#    ssl_ciphers  HIGH:!aNULL:!MD5;

#    ssl_prefer_server_ciphers   on;

location / {

root   html;

index  index.html index.htm;

#proxy_pass   http://;

#proxy_set_header Host   $host;

#proxy_set_header X-Real-IP     $remote_addr;

#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

上面红色部分这样写是因为,输入域名访问的时候,访问页面会400的问题,这一行配置是把请求从400页面上重定向到https上。

当wildfly监听的httpss端口改成443后,会报错,启动不了443端口,这是因为端口号小于1024的必须要用root权限来启动,所以上面给文件,目录chown的地方要都给改成root的用户,用户组的权限,这样wildfly的443端口就能起来了。

最终实现的过程是用户输入域名请求到80端口,nginx将过来的请求重定向到wildfly的443上,实现页面的跳转

公司的服务器托管在阿里云上,在负载均衡slb上加证书信息,用js页面跳转即可。

一般情况下一台设备只用一张证书,想加扩展就是多申请证书。一般就是将证书放在nginx上,这样webserver横向扩展,就没有证书方面的顾虑了。

参考资料:

http://www.cnblogs.com/yun007/p/3739182.html

http://developer-should-know.tumblr.com/post/112230363742/how-to-install-wildfly-as-a-service-on-linux

关于nginx负载均衡ip-hash的配置,保证用户的session会话

http://www.cnblogs.com/xiaogangqq123/archive/2011/03/04/1971002.html

http://serverfault.com/questions/610117/failed-to-bind-to-0-0-0-0443

时间: 2024-10-13 11:46:32

nginx代理,wildfly做web容器实现网站输入域名跳转到https的域名的相关文章

单台web服务器实现http访问自动跳转到https:

方法一:利用地址重写功能server {listen 80;server_name www.etiantian.org;rewrite ^(.*)$ https://$host$1 permanent;}说明:在https配置server基础上再添加http跳转server 方法二:利用error_page识别错误码信息进行跳转server {listen 443;server_name www.etiantian.org;ssl on;ssl_certificate /application/

nginx做反向代理和后端web服务器之间的交互

1.Nginx是什么? Nginx就是反向代理服务器. 首先我们先来看看什么是代理服务器,代理服务器一般是指局域网内部的机器通过代理服务发送请求到互联网上的服务器,代理服务器一般作用于客户端.比如GoAgent,翻墙神器. 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所使用的代理协议,请求对目标服务器创建连接.或则获得目标服务器的指定资源.Web代理服务器是网络的中间实体.代理位于Web客户端和Web服务器之间,扮演"中间人"的角色. HTTP的代理服务

一个无聊的实验:验证网站是否通过web容器还是微服务部署

一般来说一台web服务器会部署多个实例(且共享80端口),举个栗子例如nginx通常部署多个站点,每个站点都有自己的端口 例如 8091,8092之类的. 通过nginx进行代理.(前提微服务直接使用 80端口而 没有通过nginx之类的代理) 那么web容器是如何神器的命中你想要的网站的呢. 其实这个很简单就是通过http协议请求中Host参数 那么逆向思考 是不是如果在模拟请求的不传Host参数是不是可以?如果类似 ok 咱们使用telnet 验证: telnet www.xxx.com 8

网站安全狗Nginx版V2.0发布 全方位防护网站安全

网站安全狗是安全狗旗下集网站内容安全防护.网站资源保护及网站流量保护功能为一体的安全防护软件,全面保护服务器上的网站安全,功能涵盖了网马/木马扫描.防SQL注入.防盗链.防CC攻击.网站流量实时监控.网站CPU监控.下载线程保护.IP黑白名单管理.网页防篡改功能等.能够为用户提供实时的网站安全防护,避免各类针对网站的攻击所带来的危害.目前已保护超过100万个网站. 今年5月,安全狗发布了网站安全狗Nginx版V1.0,该版本弥补了之前安全狗在Nginx上的空白,并提供了多项防护功能.但对于一直追

web容器(01):Apache配置监控

响应时间长可能原因: 硬件.应用服务器.网络.负载机.中间件线程池排队.数据库连接池排队.sql语句.jvmGc.代码逻辑 如何分析: 分析系统架构节点 开发在日志中打印方法在调用时消耗的时间 web容器:Nginx apache tomcat resin weblogic websphere apache:处理静态资源性能好些,处理servlet这样的动态请求性能会差些 tomcat:处理动态请求性能会好些 apache: 1.通渠配置文件httpd.conf 1)位置: yum安装:/etc

nginx代理 修改响应内容

最近接手一个问题 在每次出现404的情况时:需要在响应的内容中,添加 request_uri  remote_ip  等一些内容. 开始的时候 发现一个模块  --with-http_sub_module 可以对响应内容进行一个替换修改 但是这个模块需要从新对nginx进行编译,在编译的时候添加模块 --prefix=/usr/local/nginx --with-http_sub_module 然后就可以在nginx.conf中使用了 sub_filter  thisisatestipaddr

nginx防盗链,访问控制,解析php相关配置,nginx代理

nginx防盗链 配置如下,可以和不记录静态文件配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; #设置白名单 if ($invalid_referer) { return 403; #不过不是白名单的refer就403 } access_log

Shiro简介、入门案例、web容器的集成

目的: shiro简介 Shiro入门案例 Shiro与web容器的集成 shiro简介(中文官网:https://www.w3cschool.cn/shiro/andc1if0.html) 1.什么是shiro? shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证.用户授权. spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单. shiro不依赖于spring,shiro不仅可以实现

web容器

websLogic:基于j2ee的中间件,用于开发集成,部署管理大型分布式web应用.网络应用和数据库应用的java应用服务器. websphere:提供可靠.灵活健壮的集成软件 jboss :是一个管理EJB的容器和服务器,不支持Servlet/JSP,一般和tomact或者jetty绑定使用. tomcat:很好地体现了最新的Servlet/jsp规范的web容器,先进稳定免费 原文地址:https://www.cnblogs.com/bowenqianngzhibushiwo/p/1160