Обратный прокси-сервер Nginx (AWS) -> nginx-сервер для статической страницы (homeip)
У меня есть сервер nginx, который обслуживает статические файлы в моем домашнем ip за pfsense. Если я нажму на домашний IP, я увижу веб-сайт, который я размещаю Я пытаюсь поместить это позади другого обратного прокси-сервера nginx, чтобы мой домашний IP не был публичным. Итак, у меня есть экземпляр ec2, который просто запускает докер nginx с обратным прокси-сервером.
вот мой nginx.conf:
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
upstream docker-nginx {
server <homeip>;
}
server {
listen 80;
location / {
proxy_pass http://docker-nginx;
proxy_redirect off;
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_set_header X-Forwarded-Host $server_name;
}
}
}
и мой файл докера:
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
Команда Docker Run после сборки: Docker docker run -p 80:80 reverseproxy
Это очень прямо вперед. У меня есть http для https перенаправления на моем домашнем сервере nginx.
Теперь, если я нажму свое доменное имя, я получу сервер не может быть достигнут. Если я нажму IP-адрес экземпляра ec2, который, конечно, имеет открытые 80 и 443, я получу сервер не найден.
и сверните мой домашний IP-адрес из контейнера дает мне
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.10.0 (Ubuntu)</center>
</body>
</html>
Что я делаю неправильно? Это правильно? Буду очень признателен за вашу помощь. Я пробовал ту же настройку без докера, но работала как реверсивный прокси-сервер, но все еще не работала :-(