NGINX - приложение Spring Boot («/etc/nginx/html/index.html» не найдено) - PullRequest
1 голос
/ 05 июня 2019

Итак, у меня есть приложение весенней загрузки, которое я хочу поместить за nginx, проблема в том, что я получил отказ в соединении при доступе к localhost.

Как выглядит моя конфигурация nginx:

    server {

    listen 80;
    server_name workaround;
    charset utf-8;
    access_log off;


    location / {
       proxy_pass http://172.19.0.3:8080/workaround;
       proxy_set_header X-Real-IP         $remote_addr;
       proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Host  $host;

     }
}

Что у меня работает:

enter image description here

Что я получаю в ответ при доступе к localhost

enter image description here

404 не найдено. Почему он ищет какой-то файл etc / nginx / html / index, когда он находится в моем файле docker compose: enter image description here

  nginx:
    container_name: workaround-nginx
    image: nginx:1.15.12-alpine
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./data/certbot/conf:/etc/letsencrypt
      - ./data/certbot/www:/var/www/certbot
    depends_on:
      - workaround

Что не так с моей конфигурацией? Как правильно получить доступ к моему приложению SB?

  • Я пытался использовать localhost вместо IP bud, который не работал. Так как он использовал nginx ip, где приложение не запущено.
  • Я думал о том, чтобы как-то переписать конфигурацию по умолчанию для nginx bud, как мне это сделать из dockerfile, и тогда зачем мне это делать, когда том уже установил сопоставление.

1 Ответ

0 голосов
/ 08 июня 2019

Хорошо, я понял это, и мне даже удалось это исправить, чтобы он работал с ресурсами, имеющими префиксы хеша:

events {
  worker_connections 1024;
}

http {

  server {
        listen 80;
        charset utf-8;
        access_log off;
        try_files $uri $uri/ =404;

        location / { #this still has to be here, otherwise i get ISE
            proxy_pass http://workaround:8085/;
        }

        location ^~ { #this thing fixes hashes and resources
            proxy_pass              $scheme://workaround:8085/$request_uri;
            proxy_redirect  off;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header        Host $http_host;
            expires 30d;
         }
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...