Назад | Перейти на главную страницу

Обратный прокси nginx не работает; кто-нибудь знает почему?

Для этого школьного проекта мы получили 1 общедоступный IP-адрес, на котором мы хотим запустить несколько веб-сервисов (веб-почту Roundcube, nextcloud и webconfigurator для брандмауэра). На самом публичном IP-адресе у нас работает брандмауэр pfSense, который также заботится о маршрутизации. В локальной сети брандмауэра у нас есть 3 сервера, почтовый сервер (с веб-почтой), сервер Nextcloud и сервер nginx, который я пытаюсь заставить работать как обратный прокси. Сначала я попытался получить доступ к webconfigurator, но он не работает, и я не могу понять, почему. Вот конфигурация:

server {
  server_name pfsense.domain.com;

  location ~ {
    proxy_pass_header Authorization;
    proxy_pass http://10.1.1.2:80;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_buffering off;
    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect on;
  }
}

PfSense находится на локальном IP 10.1.1.2. Я перенаправил порт 80 и 443 на сервер nginx, но конфигурация не работает. Имя файла /etc/nginx/sites-available/webservers.conf и я создал символическую ссылку в sites-enabled папка. Я скопировал конфигурацию из другого потока на этом Stack Exchange.

Я исправил это сам, просто пошагово пошагово. Я начал с этого:

   server {
        listen 80;
        location / {
            proxy_pass http://192.x.x.2;
        }
    }

А потом пошагово добавлял дополнительные опции. Я нашел варианты и их описания на http://nginx.org/en/docs/http/ngx_http_proxy_module.html. В конце концов я получил следующее, которое отлично работает!

}
server {
    server_name mail.domain.eu www.mail.domain.eu;
    location / {
        proxy_pass http://10.1.1.4;
        proxy_set_header Host       $http_host;
        proxy_set_header Host       $host;
    }