бэкэнд по умолчанию - 404 Apache с ssl - PullRequest
0 голосов
/ 26 мая 2020

Я новичок в apache. Я пытаюсь использовать официальный контейнер apache для перенаправления входящего трафика c на 2 модуля Pod-1. В мой собственный контейнер (CC) (это http-сервис). Под-22. В контейнер для обрезков кролика. Я выставляю и 80, и 443 из apache. Я могу получить доступ к своему приложению, запущенному на Pod-1. Но если я попытаюсь получить доступ с помощью 80 (который перенаправлен на https [443]), я получу ошибку бэкэнда по умолчанию. Я включил модули «mod_socache_shmcb.so», «mod_ssl.so» и включил свой файл конфигурации. Ниже мой файл конфигурации.

<VirtualHost *>

    ServerName apachessl
    Redirect / https://apachessl/

</VirtualHost>

<VirtualHost *:443>
ServerName apachessl

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

SSLEngine on
SSLProtocol -ALL +TLSv1
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /usr/local/apache2/conf/certificate.crt
SSLCertificateKeyFile /usr/local/apache2/conf/privateKey.key

ProxyPreserveHost On

KeepAlive On
MaxKeepAliveRequests 0
ProxyTimeout 600

SSLProxyEngine on

ProxyPass /ws wss://rmqssl-app-loc:15674/ws
ProxyPassReverse /ws wss://apachessl/ws

ProxyPass / http://my-apllication:6543/
ProxyPassReverse / https://apachessl/

    ErrorLog "logs/my_application_log"
    LogLevel error

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Если вы используете его из kubernetes и получаете ошибку 404 бэкэнда по умолчанию ... это по сути означает, что домен, с помощью которого запрос отправляется на входной контроллер Kubernetes, не сопоставлен ни с одним из входов.

Итак, вам нужно проверить, когда запрос на порт 80 перенаправлен на 443, url apachessl -> имеет один вход, отображаемый в определении входа в соответствии со спецификациями .. что-то вроде -

spec:
  rules:
  - host: apachessl
    http:
      paths:
      - backend:
          serviceName: <<your-app-service-exposed-on-k8s>>
          servicePort: 80
        path: /
  tls:
    - hosts:
      - apachessl
      secretName: <<your-ssl-secret>>

Не могли бы вы поделиться своим определением входящего трафика, чтобы было ясно, что нужно исправить.

0 голосов
/ 26 мая 2020

Пожалуйста, измените -

ProxyPassReverse / https://apachessl/

на

ProxyPassReverse / http://my-apllication:6543/

и повторите попытку.

...