Как настроить NGINX как обратный прокси для разных номеров портов?

Для OSX это относится к Emacs 22.1.1; Fedora с Emacs 24 имеет такое же поведение.

В Emac'е ansi-term поддерживает 8 цветов. Это все, что определено ANSI, и "ansi-term" назван соответствующим образом. Описание терминала eterm-color в ncurses используется для этого типа терминала. Emacs устанавливает TERM в это значение (см. источник):

(defvar term-term-name "eterm-color"
  "Name to use for TERM.
Using \"emacs\" loses, because bash disables editing if $TERM == emacs.")

Если вы переопределите TERM, например, чтобы сообщить приложениям, что у него больше цветов, то дополнительные цвета не будут использоваться. Аналогично, жестко закодированные приложения, игнорирующие базу данных терминала, также не смогут использовать дополнительные цвета.

В то время как Emacs может использовать более 8 цветов в терминале, ansi-term этого не делает. Читая source, найдите term-ansi-current-color, и увидите, что есть только логика для 30-37, 39, 40-47 и 49:

   ;; Foreground
   ((and (>= parameter 30) (<= parameter 37))
    (setq term-ansi-current-color (- parameter 29)))

   ;; Reset foreground
   ((eq parameter 39)
    (setq term-ansi-current-color 0))

   ;; Background
   ((and (>= parameter 40) (<= parameter 47))
    (setq term-ansi-current-bg-color (- parameter 39)))

   ;; Reset background
   ((eq parameter 49)
    (setq term-ansi-current-bg-color 0))

Вы можете изменить палитру цветов, используемую вашим терминалом, но нет способа заставить ansi-term отличаться от этого (он будет использовать первые 8 цветов, даже если Emacs может использовать 256).

Дальнейшее чтение:

Для Emacs, отличных от ansi-term:

Также:

15
02.03.2018, 00:06
2 ответа

Протокол ssh не основан на HTTP и, как таковой, не может быть проксирован через обычный proxy_pass of ngx_http_proxy_module

Однако недавно, начиная с nginx 1.9.0 (выпущен как стабильный с 1.10.0 26.04.2016), nginx действительно получил поддержку для выполнения TCP stream проксирование, что означает, что если у вас достаточно последняя версия nginx, вы можете фактически проксировать ssh-соединения с ней (однако обратите внимание, что вы не сможете добавить что-либо вроде X-Real-IP к прокси-соединению, так как это не основано на HTTP).

Для получения дополнительной информации и примеров посетите:

18
27.01.2020, 19:49

Поскольку Nginx версии 1.9.0, NGINX поддерживает модуль модуля ngx _stream _core _, его следует включить с --с потоком -. Когда потоковый модуль включен, они возможны для ssh-протокола tcp proxy

.
stream {
    upstream ssh {
        server 192.168.1.12:22;
    }
        server {
        listen        12345;
        proxy_pass    ssh;

    }

}

https://www.nginx.com/resources/admin-guide/tcp-load-balancing/

11
27.01.2020, 19:49

Теги

Похожие вопросы