热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Apache和Nginx设置反向代理的方法

最近在搞一个hadoop-ui-webjobs的项目,需要整合webui和hadoopconsole,使用了内置的jetty来实现。在上线的过程中遇到问题,我的应用占用的8080端口,服务器的安全策略不允许这个端口被外部访问。让运维的童鞋帮忙配置nginx反向代理,却被拒绝,说太麻烦,
最近在搞一个hadoop-ui-webjobs的项目,需要整合web ui和hadoop console,使用了内置的jetty来实现。
在上线的过程中遇到问题,我的应用占用的8080端口,服务器的安全策略不允许这个端口被外部访问。让运维的童鞋帮忙配置nginx反向代理,却被拒绝,说太麻烦,而且配好了也不一定能用。
因为自己不懂反向代理怎么配,于是被忽悠回来。嗯,自己在测试环境配一个试试好了。
目标是用浏览器访问测试服务器  xxx.xx.xx 就会自动显示出原本要访问 xxx.xx.xx:8080的内容咯。
而内置了Jetty的应用本身不需要做啥修改,只是单纯的让Apache/Nginx转发。
一、先选择了Apache来实现反向代理Jetty。
Apache的安装包下载地址:http://mirror.bit.edu.cn/apache/httpd/httpd-2.0.64.tar.bz2
若按照Apache源码包中的INSTALL一步一步安装,是无法实现反向代理的哦。因为这样安装完,PREFIX/modules下面没有反向代理需要使用的代码块。
所以,安装的时候需要先用这个配置。PREFIX是你安装apache时候可以指定的目录,默认是/usr/local/apache2/
$ ./configure  --enable-mods-shared="proxy  proxy_http proxy_ftp proxy_connect"
$ make
$ make install
那么ls PREFIX/modules下就会出现这些东东。
httpd.exp             mod_proxy_ftp.so   mod_proxy.so
mod_proxy_connect.so  mod_proxy_http.so
然后修改PREFIX/conf/httpd.conf
在httpd.conf头部加入这样的配置:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyRequests Off
   Order deny,allow
 Allow from all
  ProxyPass / http://localhost:8080/
最后,PREFIX/bin/apachectl start
二、再选择Nginx来实现反向代理Jetty
Ngnix安装包下载地址:http://nginx.org/download/nginx-1.2.5.tar.gz
这个就按照Nginx的官方说明安装好了,解压后进入nginx-1.2.5目录
$ ./configure --prefix=/usr/local/nginx --without-http_rewrite_module --with-http_ssl_module
$ make
$ make install
进入/usr/local/nginx,修改conf/nginx.conf,在和默认的server{}平行的位置上加入这段配置:
server{
listen  80;
server_name     "";
location / {
proxy_pass      http://127.0.0.1:8080;
proxy_redirect  off;
proxy_set_header        Host    $host;
proxy_set_header        X-Read-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
然后,sbin/nginx
-------------------------------------------------------------------------------
自己试了试,两个办法都可以。其实不论是Apache还是Nginx转发Jetty的配置都不难,运维的童鞋为啥就是不肯帮我咧。郁闷!

推荐阅读
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文介绍了如何在 MapReduce 作业中使用 SequenceFileOutputFormat 生成 SequenceFile 文件,并详细解释了 SequenceFile 的结构和用途。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 了解多域名SAN SSL证书及其工作原理
    本文介绍了多域名SAN SSL证书的概念及其工作方式,探讨其在现代网络安全中的重要性和应用。 ... [详细]
  • PHP环境下的ini配置详解:聚焦错误相关选项
    本文详细探讨了PHP环境中的ini配置,特别是与错误处理相关的配置项,旨在帮助开发者更好地理解和调整php.ini文件以适应不同的开发需求。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
author-avatar
平凡数码广场
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有