使用nginx重定向无效。

时间:2018-01-23 09:22:39

标签: docker spring-boot nginx dockerfile load-balancing

我还在学习 nginx 并尝试使用nginx为我的春季启动应用程序进行简单的重定向。我已设法使用docker设置所有内容这是我的 docker文件和我的 default.conf 文件。

DockerFile

  RUN apt-get update -y && apt-get install -y nginx
  RUN rm -f /etc/nginx/sites-enabled/default
  ADD default.conf /etc/nginx/conf.d
/etc/nginx/conf.d

中的

default.conf文件

server {
    listen 80;
    listen [::]:80;
    server_name  default_server;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location / {
     proxy_set_header X-Forwarded-Proto http;
     proxy_pass http://localhost:8080/testing;
    }
  }

我正在从 Dockerfile 执行 .sh 文件,该文件将启动nginx服务并启动jar文件。

我无法弄清楚我在这里做错了什么,我的配置是错误的还是我应该删除 nginx.conf 文件并用 default.conf 内容替换其内容.i尝试用 localhost 替换 default_server ,但没有任何帮助。我的春季启动应用程序在端口8080上运行。

1 个答案:

答案 0 :(得分:0)

docker容器(运行nginx)中的

localhost并未指向主机的环回接口,而是指向容器的环回设备。您需要更改proxy_pass配置才能使用主机的IP地址(另外,请确保您的spring引导应用程序正在侦听0.0.0.0而不仅仅是localhost)。