Я получаю проблемы с связи между Nginx-pod и apache-pod < /p>
У меня есть эти конфигурации: < /p>
Код: Выделить всё
server {
listen 8080;
listen [::]:8080;
server_name _;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /redblue/ {
rewrite ^/redblue/(.*)$ /$1 break;
proxy_pass http://redblue;
}
location /apache/ {
rewrite ^/apache/(.*)$ /$1 break;
proxy_pass http://apache:8080;
}
if ($host = ${DOMAIN}) {
return 301 https://$host$request_uri;
}
}
server {
listen 8003;
server_name red-virtual-server-redblue;
location / {
root /usr/share/nginx/html/redblue/red;
index index.html index.htm;
}
}
server {
listen 8004;
server_name blue-virtual-server-redblue;
location / {
root /usr/share/nginx/html/redblue/blue;
index index.html index.htm;
}
}
upstream redblue {
server 127.0.0.1:8003;
server 127.0.0.1:8004;
}
< /code>
Статическая структура папок Nginx < /p>
nginx/html/
├── index.html
├── music
│ └── sunflower.mp3
├── redblue
│ ├── blue
│ │ └── index.html
│ └── red
│ └── index.html
└── sunflower.html
< /code>
apache-pod.yaml apiVersion: v1
kind: Pod
metadata:
name: apache-pod
labels:
app: apache
spec:
containers:
- name: apache
image: my-registry:apache
ports:
- containerPort: 8080
name: apache-port
< /code>
nginx-pod.yaml apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: my-registry:apache
ports:
- containerPort: 8080
name: nginx-port
< /code>
apache-service.yml
apiVersion: v1
kind: Service
metadata:
name: apache
spec:
selector:
app: apache
ports:
- protocol: TCP
port: 8080
targetPort: apache-port
< /code>
nginx-service.yml
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
type: NodePort
selector:
app: apache
ports:
- protocol: TCP
port: 80
targetPort: nginx-port
nodePort: 30081
< /code>
Таким образом, мой nginx доступен по адресу: 30081 < /p>
У меня есть страница индекса со ссылками на мой статический контент
sunflower.html и / / Music /Sunflower.mp3 обычно получают
, но < /p>
Я не могу получить прокси на мои серверы Redblue и сервер Apache < /p>
локально я Использование Docker Compose и вместе с ним все работает нормально. Все proxy_pass работает по мере необходимости
, но когда я использую K8s, у меня есть доступ только к своему статическому содержимому (Nginx работает внутри контейнера с помощью nginx
Также я не имею перенаправления 301 перемещенных журналов на мои серверы RedBlue и Apache в журналах kubectl < br/> только в записи статического содержимого
Inside nginx-pod я могу пинговать/сгибать br /> Но запрос на Nginx даже не регистрируется при достижении IP: 30081 /Apache или IP: 30081 /RedBlue: (< /p>
Что я делаю неправильно?
Должен ли я использовать класс Ingress?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ith-apache