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

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

nginx

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;


 Нет комментариев    409   2018   graylog   log   nginx
 Нет комментариев    92   2018   nginx
 Нет комментариев    33   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 — Рестарт

certbot ImportError: ’pyOpenSSL’ module missing required functionality

certbot ImportError: 'pyOpenSSL' module missing required functionality

Если при попытке выпустить SSL-сертификат с помощью certbot на CentOS 7 возникает следующая ошибка:


[admin ~]# certbot --nginx
Traceback (most recent call last):
  File "/usr/bin/certbot", line 9, in 
    load_entry_point('certbot==0.22.2', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 480, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2693, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2324, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 20, in 
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 13, in 
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 36, in 
    urllib3.contrib.pyopenssl.inject_into_urllib3()
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
    raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.


Исправляем следующим образом:


pip uninstall requests
yum reinstall python-requests

pip uninstall six
yum reinstall python-six

pip uninstall urllib3
yum reinstall python-urllib3


 Нет комментариев    155   2018   CentOS 7   certbot   Error   let's encrypt   nginx   ssl
Ранее Ctrl + ↓