用Nginx做端口转发(反向代理)

  • 将域名转发到本地端口
  • 将域名转发到另一个域名
  • 本地一个端口转发到另一个端口或另一个域名
  • 加 / 与不加 /

有时我们会使用一些java或node应用,但又不想让他们直接监听80端口,这时就需要用到端口转发

本文中,我们介绍Nginx如何做端口转发,还有各种转发规则

将域名转发到本地端口

首先介绍最常用的,将域名转发到本地另一个端口上

server{listen 80;server_name  tomcat.shaochenfeng.com;index  index.php index.html index.htm;location / {proxy_pass  http://127.0.0.1:8080; # 转发规则proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

这样访问 http://tomcat.shaochenfeng.com 时就会转发到本地的 8080 端口

将域名转发到另一个域名

server{listen 80;server_name  baidu.shaochenfeng.com;index  index.php index.html index.htm;location / {proxy_pass  http://www.baidu.com;proxy_set_header Host $proxy_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

这样访问 http://baidu.shaochenfeng.com 时就会转发到http://www.baidu.com

本地一个端口转发到另一个端口或另一个域名

server{listen 80;server_name 127.0.0.1; # 公网ipindex  index.php index.html index.htm;location / {proxy_pass  http://127.0.0.1:8080; # 或 http://www.baidu.comproxy_set_header Host $proxy_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

这样访问 http://127.0.0.1 时就会转发到本地的 8080 端口或http://www.baidu.com

加 / 与不加 /

在配置 proxy_pass 代理转发时,如果后面的 url/ ,表示绝对根路径;如果没有 /,表示相对路径

例如

  1. 加 /
server_name shaochenfeng.com
location /data/ {proxy_pass http://127.0.0.1/;
}

访问 http://shaochenfeng.com/data/index.html 会转发到http://127.0.0.1/index.html

  1. 不加 /
server_name shaochenfeng.com
location /data/ {proxy_pass http://127.0.0.1;
}

访问 http://shaochenfeng.com/data/index.html 会转发到http://127.0.0.1/data/index.html

用Nginx做端口转发(反向代理)相关推荐

  1. 使用Nginx实现端口转发TCP代理

    需求产生背景 最近同事在测试和生产环境中分别部署了一套应用,由于应用只能集成LDAP,而我们公司使用的是AD,于是我搭建了一个OpenLDAP服务,账号先通过lsc从AD同步到OpenLDAP,然后使 ...

  2. 用nginx做了一下反向代理,得到的ip地址都是127.0.0.1

    nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;       proxy_set_header X-Real-IP $remote_addr; ...

  3. nginx 做端口转发

    server {listen 80;server_name 域名;error_log /var/log/nginx/error.log;access_log /var/log/nginx/access ...

  4. nginx实现ip端口转发_nginx 怎么做端口转发

    问题描述 前端本地mook数据,前端项目在http://127.0.0.1:3000/ Mook数据的node服务在 http://127.0.0.1:4003/ 所有的跨域请求接口类似这种 http ...

  5. Nginx学习3:反向代理实例

    Nginx配置实例-反向代理1 目标 打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中 准备工作 我们在官网下载好tomcat之后,直接将t ...

  6. 带你了解什么是Nginx(实操反向代理-负载均衡)

    文章目录 一.前言 ①什么是Nginx? ②服务中为什么要使用Nginx原因? 二.安装Nginx 1.介绍 2.安装 ①在Linux系统安装nginx ②上传并解压到/usr/local/目录下 ③ ...

  7. 【经验】使用Nginx对kiftd进行反向代理和域名绑定

    本文将向您演示如何通过Nginx对kiftd进行反向代理和域名绑定,从而让访问者能够通过指定的域名来访问kiftd或是您的其他网站页面.尤其是对于需要在同一台服务器上部署多个网站项目和kiftd的用户 ...

  8. 运维之道 | Nginx负载均衡、反向代理

    Nginx负载均衡.反向代理 一.代理服务器 1.什么是代理服务器? 客户端访问数据的时候,不会直接与目标服务器进行连接,而是所有的请求都发送到代理(Proxy)服务器,然后代理服务器会去根据你的请求 ...

  9. Nginx-04:Nginx配置实例之反向代理1

    Nginx配置实例之反向代理 目的:在浏览器中数输入www.123.com跳转到tomcat主页. 1.准备工作 (1)安装tomcat,使用默认端口8080,进入tomcat的bin目录中,./st ...

最新文章

  1. c#devexpress GridContorl添加进度条
  2. XMPP协议学习笔记三(Openfire服务器端搭建开发环境)
  3. ubuntu 10.04 安装 pyquery
  4. matlab hashset,MATLAB集合操作
  5. 串行内存消耗 并行内存_如何估算内存消耗?
  6. c#与获得文件夹路径,站点目录
  7. 全新起点!英特尔发布 Agilex FPGA,采用 10 纳米制程 | 极客头条
  8. smarty3.0中文手册文档API及使用指南
  9. 一张图告诉你,自学编程和科班程序员的差别在哪!网友:很真实
  10. 数学文章 关于圆锥体积公式的证明
  11. python爬虫,用scrapy爬取天天基金
  12. 适配器模式的三种形式
  13. 《周志华机器学习》简要
  14. 003.关于光流传感器(ADNS3080)调焦问题
  15. 如何通过命令将可执行程序转入deamon(之start-stop-daemon )
  16. Python实现淘宝爬取——奶粉销售信息爬取及其数据可视化
  17. textpad java sdk_如何防止TextPad在运行Java时创建临时批处理文件?
  18. k8s实现nginx-ingress通过统一IP访问服务无缝对接生产上游Nginx
  19. 2023开学季哪款电容笔值得买?高品质电容笔品牌推荐
  20. 10个优质的基于Node.js的CMS 内容管理平台

热门文章

  1. yolo3训练人脸检测模型
  2. The requested resource(/)is not available问题
  3. HTTP状态 500 - 内部服务器错误java.lang.NullPointerException
  4. query_data函数C语言代码,pandas 查询函数query的用法说明
  5. Android的apk安装时签名相同冲突解决
  6. Handler之创建子线程Handler
  7. 热门Java开发工具IDEA入门指南——IntelliJ IDEA概述(下)
  8. 概率统计Python计算:样本数据的经验分布函数
  9. IntelliJ IDEA如何修改版权信息
  10. 财神来了 | 那些年伤害过你的分叉币