【问题标题】:Nginx Rewrite and redirect a URLNginx 重写和重定向 URL
【发布时间】:2016-10-18 18:40:05
【问题描述】:

我正在努力尝试重写和重定向 URL。

外部 URL 是 www.mydomain:443/app1。内部 URL 是 https://192.168.1.2:8080。 Nginx 在 192.168.1.1 上运行。我在查看文档和论坛时尝试了几件事。下面的代码让我进入设备,但页面返回空白。我试过重写和重定向但没有运气。

location /app1/ {
   if ($request_uri ~* "/app1/(.*)") { 
        proxy_pass  https://192.168.1.122:8080;
   }
}

【问题讨论】:

  • 我很困惑a)你的问题是什么,b)你想要完成什么。您能否尝试重新表述您的情况以及您要完成的工作?
  • 尝试将转到 www.mydomain:443/app1 的外部 URL 请求重定向到内部 URL 192.168.1.2:8080。 Proxy_pass 将处理 IP 和端口的重定向,但我不确定如何从 URL 请求中删除 app1 子文件夹。仅使用代理通行证产生192.168.1.2/app1:8080 而不是192.168.1.2:8080。希望这更清楚。

标签: redirect nginx


【解决方案1】:

根据评论,我认为您的意思是:

server{
    listen 443 ssl;
    server_name www.mydomain;

    #Your ssl stuffs here

    location /app {
        proxy_pass https://192.168.1.122:8080;
        #Other proxy params here
    }
}

【讨论】:

  • 但是,你说 NGINX 在192.168.1.1 上运行。所以我假设localhost 有这个IP,这意味着你需要在192.168.1.122:8080 上有一些处理请求。你还提到了一些关于192.168.1.2 的事情。这是一个错字吗?
  • 192.168.1.2 是托管 app1 的设备。 Nginx 在 192.168.1.1 上运行。没有 192.168.1.122。是的,这是一个错字。
  • 标准 proxy_pass 将我带到通用页面,表示欢迎使用 nginx。重写和 proxy_pass 似乎让我更接近。页面加载但为空白。日志显示“GET /api/4/ HTTP/1.1” 404 .
猜你喜欢
  • 2016-04-29
  • 1970-01-01
  • 2017-04-24
  • 2018-11-11
  • 1970-01-01
  • 2016-06-27
  • 2019-09-27
  • 2016-06-18
  • 2015-04-19
相关资源
最近更新 更多