首页 > 系统相关 >nginx反向代理jumpserver

nginx反向代理jumpserver

时间:2023-12-19 15:34:44浏览次数:34  
标签:ssl header server nginx 反向 proxy EECDH jumpserver

背景

之前的文章介绍了,如何使用docker部署jumpserver

当需要配置成https的时候,会发现很不好调整

那么就出现了一种新的场景,那就是,后端服务不能动,如何在原来的基础上实现https的方式访问

思路

通过nginx反向代理给后端

实现

jumpserver的web服务地址是 10.0.0.12:8888

生成证书

这里使用自签名证书,或者你可以向服务商申请证书

openssl req -new -newkey rsa:2048 -sha256 -nodes -out server.csr -keyout server.key -subj "/C=CN/ST=Guangzhou/L=NanSha/O=hexug Inc./OU=Web Security/CN=hexug.com"
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

配置nginx

vim /etc/nginx/sites-enabled/default

server {
	#同时监听80和443端口
	listen 80;
	listen      443 ssl;
	server_name  10.0.0.12;
	charset utf-8;
	
	#判断,跳转 将所有http服务都跳转到https上
	if ( $scheme = 'http' ) {
		return 302 https://10.0.0.12/;
	}
	
	#日志
	#access_log  logs/host.access.log  main;
	
	#证书 证书的位置 /etc/nginx/ssl
	ssl_certificate ssl/server.crt;
	ssl_certificate_key ssl/server.key;
	ssl_prefer_server_ciphers on;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
	
	#服务部分
	location / {
		#index index.html index.htm;
		#root html;
		proxy_pass http://10.0.0.12:8888; 
		proxy_set_header Host $host; 
		proxy_set_header X-Real-IP $remote_addr; 
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 下面四行,是为了解决websockt代理,因为jumpserver的缘故,普通的http服务,只不需要配置下面的四行
		proxy_http_version 1.1;  
        proxy_set_header Upgrade $http_upgrade;  
        proxy_set_header Connection "upgrade";   
        proxy_set_header X-Forwarded-Proto $scheme; 
	}
	
	#错误部分
	error_page  404              /404.html;
	error_page   500 502 503 504  /50x.html;
	location = /50x.html {
            root   html;
    }
}

标签:ssl,header,server,nginx,反向,proxy,EECDH,jumpserver
From: https://www.cnblogs.com/guangdelw/p/17913843.html

相关文章

  • C++ 反向遍历 array 小记
    有时候需要逆向循环,例如从字符串的最右端遍历到最左端,需要注意一些细节!初学遇到一些bug记录在这里。首先arr.size()的数据类型为size_t,为无符号整型对于for(intidx=arr.size()-1;idx>=0;idx--):使用int作为idx的类型,有一定概率会编译失败,因为size_t的具......
  • centos升级nginx,增加fastdfs插件
    解决nginx漏洞,需要升级到指定1.22.1版本nginx缓冲区错误漏洞(CVE-2022-41741)nginx越界写入漏洞(CVE-2022-41742)https://mailman.nginx.org/pipermail/nginx-announce/2022/RBRRON6PYBJJM2XIAPQBFBVLR4Q6IHRA.html升级:首先到安装目录下cd/usr/local/nginx1、首先下载......
  • Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例
    前言目前生产环境的配置越来越多的使用云服务了,同时负载均衡也基本转向了云厂商提供的服务,但对于绝大多数应用来说,自建集群可能在费用上要更便宜一些,这篇文章也是之前整理的,再次新瓶装旧酒分享给各位。此示例演示在不使用docker的情况下配置负载均衡,内容keepalived+nginx+tomcat......
  • 缺少反向ETL能力?ETLCloud帮你清障
    一、什么是反向ETLETL,全称 Extract-Transform-Load,它是将大量的原始数据经过提取(extract)、转换(transform)、加载(load)到目标存储数据仓库的过程,那么反向ETL我们就可以理解为从数据仓库或数据湖中将数据反向加载回源系统的过程。反向ETL常见于以下情况:数据修正:当数据仓库中的数据发生......
  • Nginx反向代理
    参考:https://mp.weixin.qq.com/s/2QVkA0ViNkO_i7fiZtIknQ反向代理是Nginx作为Web服务器最常用的功能之一。什么是反向代理呢?很多初学者在第一次遇到这个名词的时候总免不了出现很多问号。举个例子,小二的浏览器是无法直接访问谷哥的,但香港的代理服务器是可以访问谷哥的,于是小......
  • 缺少反向ETL能力?ETLCloud帮你清障
    一、什么是反向ETLETL,全称 Extract-Transform-Load,它是将大量的原始数据经过提取(extract)、转换(transform)、加载(load)到目标存储数据仓库的过程,那么反向ETL我们就可以理解为从数据仓库或数据湖中将数据反向加载回源系统的过程。反向ETL常见于以下情况:数据修正:当数据仓库中的......
  • Nginx部署成服务,设置开机自启动
    一、centos7以上环境推荐centos环境,比较简单安装nginxyuminstallnginx允许nginx开机自启动systemctlenablenginx二、windows环境下载nginxhttps://nginx.org/en/download.html准备工具使用winsw.exe工具进行配置,以64位系统为例已上传到我的文件,可下载使......
  • nginx日志切割脚本
    #!/bin/bash#utf-8#description:nginx滚动切割脚本,按照500M进行滚动切割#---------------------------------------------------------------------log_directory="/export/servers/nginx/logs"#日志文件目录max_size=500#日......
  • Nginx中URL重写功能以及内置变量
    1、Nginx内置变量常见的内置变量有如下几种:$args,此变量与请求行中的参数相等$query_string,此变量与$args含义一致。$document_root,此变量等同于当前请求的root指令指定的值$uri,表示不带请求参数的当前URL,$uri不包含主机名。如http://www.magedu.net/main/index.do?id......
  • 给已安装的nginx动态添加模块
    以添加echo-nginx-module模块为例查看现有nginx的编译参数$nginx-Vnginxversion:nginx/1.20.2builtbygcc4.8.520150623(RedHat4.8.5-44)(GCC)builtwithOpenSSL1.0.2k-fips26Jan2017TLSSNIsupportenabledconfigurearguments:--user=nginx--group=......