首页 > 系统相关 >nginx反向代理SSH和远程桌面连接

nginx反向代理SSH和远程桌面连接

时间:2024-01-06 15:32:17浏览次数:31  
标签:index html server nginx SSH proxy root 远程桌面

     今天在实施一个项目过程中,防火墙厂家已经配置SSH和远程桌面连接的映射关系,为了网络更安全将采取在系统centos 7.9 安装nginx反向代理SSH和远程桌面连接的办法,现将实现过程记录如下:

一、安装nginx(省略)

二、查看./nginx -V

[root@node1 nginx]# cd /usr/local/nginx/
[root@node1 nginx]# ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
[root@node1 nginx]# cd sbin
[root@node1 sbin]# ls
nginx
[root@node1 sbin]# ./nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
configure arguments: --with-stream   ###是否出现--with-stream
[root@node1 sbin]#

三、如果没有出现--with-stream按照下面操作,再次查看./nginx -V

iVsom-releases.linux-7.5.v1.0.0-0014.bin  openssl-1.1.0h         pcre-8.38.tar.gz
nginx-1.18.0                              openssl-1.1.0h.tar.gz  zlib-1.2.11
nginx-1.18.0.tar.gz                       pcre-8.38              zlib-1.2.11.tar.gz
[root@node1 nginx]# cd nginx-1.18.0
[root@node1 nginx-1.18.0]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
[root@node1 nginx-1.18.0]# ./configure --with-stream
[root@node1 nginx-1.18.0]#make
[root@node1 nginx-1.18.0]#make install

四、按照下面编辑配置文件nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
        accept_mutex on;
}

#ssh代理和mstsc远程桌面代理

stream {

#ssh代理

upstream ssh-proxy{

server 192.168.10.16:55555;

}

server {

listen 22222;

proxy_pass ssh-proxy;

}

#mstsc远程桌面代理

upstream mstsc{

server 192.168.10.22:3389;

}

server {

listen 33389;

proxy_pass mstsc;

}

}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8088;
        server_name 11.115.247.170;
#       server_name 61.184.198.38;
        #server_name 192.172.5.254;


        location / {
            #root   html;
            #index  index.html index.htm;
                        proxy_pass http://11.115.247.161:8088;
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-real-ip $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header Host $host:$server_port;
                        client_max_body_size 50m;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

        server {
        listen       6935;
        server_name 11.115.247.170;


        location / {
            #root   html;
            #index  index.html index.htm;
                        proxy_pass http://11.115.247.169:6935;
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-real-ip $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_set_header Host $host:$server_port;
                        client_max_body_size 35m;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}


标签:index,html,server,nginx,SSH,proxy,root,远程桌面
From: https://blog.51cto.com/u_1969518/9127258

相关文章

  • Nginx基础篇:Nginx搭建、Nginx反向代理、文件服务器部署配置。
    (NginxLinux系统安装以及反向代理的配置)简介Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。其将源代......
  • NGINX文件名漏洞(CVE-2013-4547)
    影响版本Nignx0.8.41~1.4.3/1.5.0~1.5.7漏洞原因由于nginx的版本原因+运维人的问题导致,其实和低版本nginx漏洞问题差不大多,也属于nginx解析漏洞的一种复现nginx版本上传文件-给文件名添加空格和php代码直接访问图片-失败恶意访问-成功修改请求找到两个空格(......
  • nginx低版本文件解析漏洞
    nginx低版本设计问题,会将图片解析成php文件复现查看nginx版本,符合低版本特征接下来我们随便上传一个图片文件,拦截这个请求,并且添加php代码。图片上传成功访问这个文件-可以正常访问接下来我们恶意访问,发现php代码被执行。......
  • SSH 协议 和 Go SSH 库 转载
    导读 SSH,TheSecureShellProtocol(安全Shell协议),是一个使用广泛的网络协议。在中文互联网世界,关于SSH协议的介绍,往往都把重点放到了安全(Secure)方面的细节。这样的文章对于开发者来说,意义并不大,原因在于:此类文章是以密码学为基础的。而密码学专业程度较高,对于开发......
  • go SSH远程终端及WebSocket
      目前chisel基于tcphttpwebsocket的ssh代理!!所以这个东西不就是可以直接远程登录了吗?就行jumpserver一样和chisel一样使用ssh goget"github.com/gorilla/websocket"goget"golang.org/x/crypto/ssh"//等库基于Web的Terminal终端控制台完成这样一个WebTermi......
  • Nginx Rewrite 对 “空” 和 “杠” 的处理
    在/usr/share/nginx/html目录下有个一index.html文件。1、常规需求配置http://www.abc.com/html/xxx的请求全部在/usr/share/nginx/html目录下寻找资源server{listen80;server_namewww.abc.com;location/html{root/usr/share/nginx;}}这......
  • openEuler欧拉使用sshpass不输入密码远程登录其他服务器
    ​​ssh登陆不能在命令行中指定密码,sshpass的出现则解决了这一问题。用-p参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。操作步骤:一、关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld二、安装sshpassdnf-yinstall......
  • Nginx转发解析长域名多路径域名
    ​Nginx解析短域名,例如:访问http://192.168.1.23可直接跳转到http://192.168.1.23/webroot/decisionserver{listen90;server_namelocalhost;#匹配/转到/webroot/decision上;#^(.*)$表示/后任意部分,除非和其他location匹配否则一律转向/webroot/dec......
  • 一次远程桌面连接不上的问题处理
    一台WIN2016,从客户端死活用mstsc远程连接这台WIN2016报错,报的是内部错误小弟去了几次也没解决,网上各种办法都试了,就是不行,我过去最终重置了winsoc才可以,一条命令解决了问题如下图 这个命令的解释如下,还挺有用的,分享出来,知其然还得知其所以然scwinsocreset命令是Windows系......
  • nginx配置多个站点共用80端口,不算端口冲突吗?
    在使用Nginx配置多个站点时,可以将它们共享一个端口(例如80端口)。这是因为Nginx使用虚拟主机(VirtualHost)的概念,通过对访问请求进行区分,将请求发送到不同的站点。Nginx的配置文件中,可以通过server块来定义不同的虚拟主机。每个server块中可以指定不同的域名或IP地址,并设置对应的站点......