对Docker容器使用Nginx反向代理

时间:2020-05-23 14:22:54

标签: laravel docker nginx

我在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;
    }

}

2 个答案:

答案 0 :(得分:0)

您可以在应用程序的nginx文件夹内创建一个名为redirects.map的文件,并添加一个类似的映射

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

答案 1 :(得分:0)

您应从

更改nginx configure
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;
    }

}