proxy - nginx - 重写domain.com :port to sub. domain.com

标签 proxy nginx subdomain url-rewriting

如何重写具有子域端口的域?

e.q.:domain.com:3000sub.domain.com

感谢您的帮助! :)

打招呼

最佳答案

如果您确实想重定向(301 或 302)您的网络流量

您创建一个监听端口 3000 的 server {} 部分,然后将其重定向到监听端口 80 的另一个 server {} 部分。在每个 server {} 部分适当设置 listen 属性。 我猜您正在尝试在单个 server 部分中并根据 this page 处理重定向。 listen 指令适用于 server 上下文

如果你想使用nginx作为代理

那么您要寻找的是 proxy_pass 指令。这是从配置中提取的示例配置,我必须使用 nginx 作为我的 Rails 应用程序(瘦)的代理。基本上我的应用程序在端口 3200 上本地运行(但它也可以在远程主机上运行),相关的 nginx 配置部分如下所示:

  upstream my-app-cluster
  {
      server localhost:3200;
  }  
  server
  {
    listen       80;
    server_name mydomain.com;
  
    root /root/to/public/folder;
    
    access_log  /my/app/log/folder/myapp.log;
    
    location / {
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
  
      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }
      if (-f $request_filename.html) {
        rewrite (.*) $1.html break;
      }
      if (!-f $request_filename) {
        proxy_pass http://my-app-cluster;
        break;
      }
    }
  
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }
  
  }

关于proxy - nginx - 重写domain.com :port to sub. domain.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9471956/

相关文章:

ssl - 将请求从 https 代理到 http 是否安全?

php - 为什么这个 API 在通过 php 代理调用时不再起作用?我该如何解决?

clojure - 为从 nginx 反向代理转发的请求添加唯一 id

nginx - 使用 nginx ingress 时是否有 pod 级 nginx 的意义?

javascript - Express-subdomain 不重定向 subdomain.localhost 获取请求

apache - 将子域名重定向到相同子域名但不同域名

Java 代理 Burp

python - 在 urllib3 中使用 HTTPS 代理时,为什么我会看到 InvalidProxyConfigurationWarning?

nginx - 使用 Nginx 的规范 URL

meteor - 多个 Meteor 应用程序、多个子域、共享数据库