заметки об администрировании и python. Траблшутинг в «примерах» и HOWTO.

😎 О себе | 📚 Литература и ресурсы | ⚡ Все посты | 📮 E-mail
19 заметок с тегом

nginx

Kubernetes: настройка cert-manager с Cloudflare

Kubernetes: настройка cert-manager с Cloudflare

Сниппеты настройки cert-manager с Cloudflare

1. Создаем secret c api-токеном Cloudflare (User Profile > API Tokens > API Tokens) в namespace cert-manager:


apiVersion: v1
data:
  api-key: KEY_ON_BASE64
kind: Secret
metadata:
  name: cloudflare-api-key-secret
  namespace: cert-manager
type: Opaque

  1. Для выпуска сертификата запустим следующий манифест

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-4admin-space
spec:
  acme:
    email: EMAIL_FOR_LETSENCRYPT
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt-4admin-space
    solvers:
      - selector: {}
        dns01:
          cloudflare:
            email: CLOUDFLARE_EMAIL
            apiTokenSecretRef:
              name: cloudflare-api-key-secret
              key: api-key

  1. Сертификат

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: 4admin-space
  namespace: default
spec:
  secretName: 4admin-space-tls
  issuerRef:
    name: letsencrypt-4admin-space
    kind: ClusterIssuer
  commonName: "*.4admin.space"
  dnsNames:
    - 4admin.space
    - "*.4admin.space"

  1. nginx-ingress



Дебаг проблем с выпусом сертификата в оф документации

Kubernetes: Postgresql открыть порт на NGINX-Ingress


apiVersion: v1
kind: Service
metadata:
  labels:
    app: postgres-container
    tier: backend
  name: postgres
spec:
  ports:
  - port: 5432
    protocol: TCP
  selector:
    app: postgres
  sessionAffinity: None
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tutorial
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: my_kube.info
    http:
      paths:
      - path: /
        backend:
          serviceName: postgres-container
          servicePort: 5432


https://stackoverflow.com/a/50197893

Отправка логов NGINX в GrayLog


# cat /etc/nginx/graylog.conf
log_format  graylog2_format  '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" ';

# replace the hostnames with the IP or hostname of your Graylog2 server
access_log syslog:server=server.kiev.ua:514 graylog2_format;
error_log syslog:server=server.kiev.ua:514;


В конфиге nginx в секции http { } указываем


       ### Send to graylog ###
        include /etc/nginx/graylog.conf;
        ### End send to graylog ###


Если нужен вывод в json, то так


# cat /etc/nginx/graylog.conf
log_format graylog_json '{ "timestamp": "$time_iso8601", "remote_addr": "$remote_addr", "body_bytes_sent": $body_bytes_sent, "request_time": $request_time, "response_status": $status, "request": "$request", "request_method    ": "$request_method", "host": "$host", "upstream_cache_status": "$upstream_cache_status", "upstream_addr": "$upstream_addr", "http_x_forwarded_for": "$http_x_forwarded_for", "http_referrer": "$http_referer", "http_user_agent": "$http_user_agent", "http_version": "$server_protocol", "nginx_access": true }';


access_log syslog:server=server.kiev.ua:514 graylog_json;
error_log  syslog:server=server.kiev.ua:514,facility=local0,tag=nginx,severity=error warn;


 Нет комментариев    1142   2018   graylog   log   nginx
 Нет комментариев    280   2018   nginx
 Нет комментариев    70   2018   hotlink   nginx

Настройка NGINX для работы с WordPress в ISPmanager v5 Lite

Настройка NGINX для работы с WordPress в ISPmanager v5 Lite

Для корректной работы WordPress в связке nginx + php-fpm при использовании панели управления ISPmanager v5 Lite. Если же не использовать данную правку, то можно сказать «пока» ЧПУ-ссылкам.

Нам необходимо привести главный location к следующему виду (не забываем, что если используется SSL-сертификат для домена, то будет 2 виртуальных хоста для домена, поэтому правку нужно сделать и там, и там):


location / {
  try_files $uri $uri/ /index.php?$args;
  location ~ [^/]\.ph(p\d*|tml)$ {
    try_files /does_not_exists @php;
  }
}


Правка вносится в файле /etc/nginx/vhosts/USER_NAME/domain.conf
Ну и далее перезапускаем nginx. Если нет желаения лезть в файлы, то переходим WWW-домены, выбираем домен и далее «Конфиг». Перезапускаем через Система — Службы — nginx — Рестарт

Ранее Ctrl + ↓