#angular #containers
#angular #контейнеры
Вопрос:
мой веб-сайт находится внутри контейнера docker и работает на сервере по url localhost: 9902. моим веб-сервером является nginx и Windows server, но когда я запрашиваю http://myip:80 с внешнего сервера это не работает, мой веб-сайт с nginx находится внутри контейнера docker
worker_processes auto;
events {
worker_connections 512;
}
http {
server {
listen *:80;
server_name "";
root /usr/share/nginx/html;
include /etc/nginx/mime.types;
location / {
proxy_pass http://localhost:9902/;
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-Proto http;
proxy_buffer_size 128k;
proxy_buffers 8 128k;
proxy_busy_buffers_size 256k;
try_files $uri /index.html;
}
}
}
Ответ №1:
Ваша конфигурация Nginx кажется правильной, и если вы можете получить к ней доступ в своей локальной сети, это может быть только сетевой проблемой.
Есть несколько вещей, которые необходимо проверить:
- У вашего контейнера Docker порт 80 привязан к внешней стороне? (документ здесь)
- Если «снаружи» — это Интернет, используйте HTTP://your-public-ip:80
- Создайте правило NAT для перенаправления всего входящего трафика с вашего маршрутизатора на порт 80 на IP-адрес вашего сервера на порт 80. Проверьте руководство пользователя вашего маршрутизатора.
Я никогда не пытался получить доступ к своим контейнерам docker из Интернета, но с правилом NAT в вашем маршрутизаторе это должно сработать.
Надеюсь, это поможет!