【问题标题】:using nginx reverse proxy for docker container对 docker 容器使用 nginx 反向代理
【发布时间】:2020-09-10 09:10:08
【问题描述】:

我在我的 ubuntu 机器上使用 nginx,并使用 docker 和一个没有 docker 的 wordpress 网站设置了 2 个 laravel 应用程序

  • 应用1:本地主机:8088
  • 应用 2:本地主机:8089

我想要实现的是,当有人打开 localhost 时它会打开 wordpress 网站,如果有人打开 localhost/app1 它会打开应用程序 1,依此类推。

所以我创建了反向代理,以便它可以打开我的 docker 容器应用程序 这就是我所做的

  1. sudo nano /etc/nginx/sites-available/website
  2. ln -s /etc/nginx/sites-available/website /etc/nginx/sites-enabled/
  3. nginx -t
  4. systemctl 重启 nginx

这样做之后,当我尝试打开 localhost/app1 时它显示 404 但它识别出它是一个 laravel 应用程序但显示 404

这是我的 /etc/nginx/sites-available/website 文件代码

server{

    listen 80;
    server_name localhost;
    root /var/www/html/wordpress;

    location /app1/{
        proxy_pass http://localhost:8088;
    }

}

【问题讨论】:

    标签: laravel docker nginx


    【解决方案1】:

    您可以在应用程序的 nginx 文件夹中创建一个名为 redirects.map 的文件并添加如下映射

    ~^localhost/app1/(.*) localhost:8089/$1;
    

    【讨论】:

    • 也请尝试这种方法 - 打开 /etc/hosts 文件并添加一个条目,如 ------------ 127.0.1.1:8089 localhost/app1
    【解决方案2】:

    你应该从

    更改 nginx 配置
    server{
    
       listen 80;
       server_name localhost;
       root /var/www/html/wordpress;
    
       location /app1/{
           proxy_pass http://localhost:8088;
       }
    
    }
    

    server{
    
        listen 80;
        server_name localhost;
        root /var/www/html/wordpress;
    
        location /app1 {
            proxy_pass http://localhost:8088;
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2021-05-04
      • 2018-03-20
      • 2021-09-30
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多