【发布时间】:2018-07-02 01:26:19
【问题描述】:
我仍在学习 nginx 并尝试使用 nginx 为我的 Spring Boot 应用程序进行简单的重定向。我已经设法使用 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 内容.我也尝试用 localhost 替换 default_server 但没有任何帮助。我的 Spring Boot 应用程序在端口 8080 上运行。
【问题讨论】:
-
在这种情况下为什么需要
nginx?如果您真的需要它,“Docker 方式”强制您将nginx和spring application移动到单独的容器中。
标签: docker spring-boot nginx dockerfile load-balancing