Nginx配置80端口访问8080及项目名地址方法解析

tomcat访问项目,一般是 ip + 端口 + 项目名

nginx 配置 location / {} ,一般只能跳转到 ip + 端口,如果想要直接访问项目,就需要修改tomcat的配置了

如何保证不修改tomcat的配置,只修改nginx,可以访问端口+项目名

在尝试后发现一种方法,就是通过

location / {
  proxy_pass http://127.0.0.1:8080/demo;
}

跳转到

location /demo {
  proxy_pass http://127.0.0.1:8080;
}

demo 是项目名,就是配置在tomcat的webapps下的文件名

只是这样的配置,会在url地址中 显示出项目名,但有什么所谓呢

下面是一个配置示例:

upstream tomcatproject{
    ip_hash;
    server 11.1.11.11:8080;
    server 22.2.22.22:8080;
  }

  server {
    listen    80;
    #server_name localhost;

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://tomcatproject/demo;
    }

    location /demo/ {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://tomcatproject;
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解nginx 配置多个tomcat共用80端口

    场景:项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问 注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中. 这里通过nginx做反向代理,nginx请到http://nginx.org/en/download.html自行下载, 修改conf/nginx.conf中的server如下: server { listen 80; server_name 192.168.1.197; #charset koi8-r;

  • 配置nginx保证frps服务器与web共用80端口的方法

    首先你会有个疑惑,frp是什么呢?简单的说frp就是内网穿透工具,配置好客户端以后,可以通过服务器来访问内网. 现在我的服务器,已经用nginx 做站了,80端口只有一个,那如果frp的服务端也想使用80端口,那应该怎么办呢? 经过查询,这个是可以实现的,就是利用nginx的反向代理来实现. 补充一下:frps就是服务器端(server),frpc就是客户端(client). 第一步:修改服务器中nginx.conf配置文件 在nginx.conf中http{ }里添加以下参数, server

  • 详解Nginx与Apache共用80端口的配置方法

    一个典型的 Nginx + Apache 应用方案可以是Nginx 占用 80 端口,过滤静态请求,然后动态请求即 Proxy 到 Apache 的 8080 端口.Proxy 反向代理的好处是访问的时候,始终就是 80 端口,来访者不会觉察到有任何的区别. 但有的应用确非常"聪明",识别到 Apache 所位于的端口是 8080 ,就会把相关的超链接都一并加上 :8080 的后续.这么就死定了,还能有正常访问麽?! 有个方法可以解决这事,就是把 apache 也运行在80端口上.同一

  • nginx配置多个站点共用80端口的解决方法

    只用改一个地方,在http模块里面加入你要引用的虚拟主机配置文件目录即可: 例如:include /usr/local/nginx/default.d/*.conf; http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent"

  • Nginx服务器中配置非80端口的端口转发方法详解

    nginx可以很方便的配置成反向代理服务器: server { listen 80; server_name localhost; location / { proxy_pass http://x.x.x.x:9500; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy

  • 封80端口应对策略 Nginx反向代理For WIN2003超级傻瓜式配置

    Win下最新版本儿:nginx-0.8.31下载地址:http://sysoev.ru/nginx/nginx-0.8.31.zip下载后解压到任意位置,然后修改里面的nginx.conf和添加proxy.conf后启动Nginx.exe即可! proxy.conf内容: 复制代码 代码如下: proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_he

  • Nginx反向代理一个80端口下配置多个微信项目详解

    Nginx反向代理一个80端口下配置多个微信项目详解 我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑.但是微信公众号接口只支持80接口(80端口).我们因业务需求需要在一个公众号域名下面,发布两个需要微信授权的项目,怎么办? 我们可以用nginx服务器做反向代理来解决这个问题.nginx服务器对外80端口,然后根据URL参数不同,对内访问不同的项目. nginx配置如下: 打开/usr/local/nginx/conf/nginx.conf worker_pr

  • Nginx配置80端口访问8080及项目名地址方法解析

    tomcat访问项目,一般是 ip + 端口 + 项目名 nginx 配置 location / {} ,一般只能跳转到 ip + 端口,如果想要直接访问项目,就需要修改tomcat的配置了 如何保证不修改tomcat的配置,只修改nginx,可以访问端口+项目名 在尝试后发现一种方法,就是通过 location / { proxy_pass http://127.0.0.1:8080/demo; } 跳转到 location /demo { proxy_pass http://127.0.0.

  • Mac中使用Nginx实现80端口转发8080端口

    由于项目本身的原因,开发必须使用80端口实现,而在Unix内核中非Root用户无法直接使用1024以下的端口,最初作者找到了pfctl的方式实现80端口转发到8080端口实现访问,经过亲测出现了最为严重的问题,按照当时的方法配置好之后发现本机Mac通过localhost/<项目名>和127.0.0.1/<项目名>可以访问,此时很是兴奋,但出现了最根本的问题,那就是同局域网内其他机器通过访问IP地址/<项目名>(例如:IP地址是192.168.0.106,那么其他机器访问

  • Nginx配置多端口多域名访问的实现

    在一个服务器上部署多个站点,需要开放多个端口来访问不同的站点,流程很简单,调试花了2小时,记录一下: 主域名多端口访问 在DNS NameServer设置A记录 将 www.xxx.com 指向服务器ip 开放所需端口,修改nginx配置文件 比如我们有两个服务分别开放在80端口和8080端口 如果有iptable,先开放端口: iptables -A INPUT -ptcp --dport 80 -j ACCEPT iptables -A INPUT -ptcp --dport 8080 -j

  • Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 如下所示: configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --

  • nginx 代理80端口转443端口的实现

    nginx.conf配置文件如下 user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remot

  • nginx配置https加密访问的详细教程

    环境: 1台 CentOS Linux release 7.5.1804 (Core) 关闭防火墙和selinux 开始部署: 1.安装nginx @1.1 依赖安装 yum -y install wget gcc gcc-c++ pcre-devel openssl-devel @1.2 nginx软件包下载 wget http://nginx.org/download/nginx-1.19.0.tar.gz @1.3 解压.编译.安装 [root@localhost ~]# tar xf n

  • 在Visual Studio 2019中修改项目名的方法

    1.需求场景 场景一:开始创建项目时,瞎起了一个名字,等后面开发了一部分功能后突然想改名. 场景二:想从一个老项目的基础上开发一个新项目. 2.操作步骤 2.1 重命名解决方案 [解决方案]右键选择[重命名],将OldSlnName重命名为NewSlnName 2.2 重命名项目名 [项目(OldProject)]右键选择[重命名],将OldProject重命名为NewProject 2.3 修改程序集名称及命名空间 [项目(NewProject)]右键选择[属性] 2.4 全局替换项目名 在整

  • springboot 如何设置端口号和添加项目名

    1.修改全局配置文件(application.yml) server: port: 9001 servlet: context-path: /userRight [坑]SpringBoot 指定服务项目名 使用不同SpringBoot版本,指定访问项目路径的项目名,使用的配置也不一样 有网友指出 SpringBoot版本 配置 1.x server.context-path=/demo 2.x server.servlet.context-path=/demo 以下为本地测试可行代码 pom.x

  • 在Eclipse中更改maven项目名的方法

    1. 在Eclipse 中修改项目名 没错这种方法跟你预料的一样简单,当项目已经导入到 Eclipse 之后,只需要做两个事情 1.1 改项目文件夹名称 选中项目,按 F12 ,改名. 多数人改项目名只做了这一步,但是后面发现并没有起到真正的作用,比如把一个原有的项目 copy 出一个新项目,然后按 F2 改了文件名,再把这个项目部署到 tomcat,会看到 tomcat 提示已经有一个"同名"项目部署过了.而 tomcat 提示的这个"同名"显然指的不是文件名,而

  • nginx修改默认运行80端口的方法

    前言 之前在文章windows下nginx的安装.使用及80端口被占用导致nginx不能启动问题的解决中提到nginx默认使用80端口,而Windows下80端口被系统进程占用的解决办法.但有时候不想让nginx使用80端口,如何修改呢? 修改方法 很简单,修改nginx的配置文件,比如版本为nginx-1.11.10的则修改: nginx-1.11.10\conf\nginx.conf 修改 http -> server -> listen 对应的值,如图: 将其改为别的端口号,就可以了.

随机推荐