美文网首页
nginx 代理配置

nginx 代理配置

作者: O无为学长O | 来源:发表于2021-06-18 19:05 被阅读0次

有时我们会使用一些javanode应用,但又不想让他们直接监听80端口,这时就需要用到端口转发。
本文中,我们介绍Nginx如何做端口转发,还有各种转发规则。
可以配置多条代理规则 ,一条代理使用一个 server {} 块。
注意配置项的每一行都要以分号结尾,否则会报错。


1,将域名转发到本地指定端口

server {
    # 监听端口
    listen 80;

    # 要匹配转发的域名(多个域名之间用空格分隔)
    server_name example.com www.example test.com;
    # 首页文件顺序
    index   index.php index.html index.htm;

    # 访问80 端口,跳转到8080端口
    location / {
        proxy_pass http://127.0.0.1:8080;

        # 修改转发请求头,让8080端口的应用可以收到真实的请求
        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;
    }

}

这样访问匹配的域名时就会转发到本地的 8080 端口

2,将域名转发到另一个域名

server{
  listen 80;
  server_name  baidu.example.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;
  }
}

这样访问匹配的域名时就会转发到百度。

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

server{
  listen 80;
  server_name 127.0.0.1; # 公网ip
  index  index.php index.html index.htm;

  location / {
    proxy_pass  http://127.0.0.1:8080; # 或 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://127.0.0.1 时就会转发到本地的 8080 端口或百度

加 / 与不加 /

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

例如

1,加 /

server_name example.com
location /data/ {
    proxy_pass http://127.0.0.1/;
}

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

2,不加 /

server_name example.com
location /data/ {
    proxy_pass http://127.0.0.1;
}

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


本篇文章转自:https://zhuanlan.zhihu.com/p/108740468,内容有少许修改。

相关文章

  • 记录Nginx反向代理常用配置

    Nginx 代理 websocket 关键配置 Nginx 代理 https关键配置 子域名泛代理关键配置 允许跨...

  • Nginx应用场景

    反向代理,负载均衡,动静分离 1.反向代理 修改nginx配置,并重新加载 重新加载nginx配置./nginx ...

  • 第二课 nginx+tomcat集群

    正向代理,反向代理 配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/ngin...

  • nginx+tomcat集群

    正向代理,反向代理 配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/ngin...

  • nginx+tomcat集群

    正向代理,反向代理 配置Nginx 配置文件目录:/usr/local/nginx-1.6.1/conf/ngin...

  • nginx

    nginx的配置、虚拟主机、负载均衡和反向代理一nginx的配置、虚拟主机、负载均衡和反向代理二nginx的配置、...

  • nginx代理vue中的websocket

    vue代码 vue代理 nginx代理配置

  • grafana使用nginx反向代理之域名访问

    nginx代理访问grafana分为两步: 配置nginx 修改如下: 保存,重载nginx 配置grafana ...

  • nginx反向代理

    什么是反向代理 如何实现反向代理 准备工作以及安装nginx 配置nginx nginx的初始配置文件去掉注释后的...

  • 01-nginx前端方向代理

    前端反向代理 1.下载nginx 2. 配置nginx.conf反向代理

网友评论

      本文标题:nginx 代理配置

      本文链接:https://www.haomeiwen.com/subject/edsoeltx.html