首页 > 系统相关 >nginx开启https

nginx开启https

时间:2024-07-03 15:57:35浏览次数:1  
标签:浏览器 ssl 证书 开启 server nginx EECDH https

生成自签名证书

如果是在运营商处获得的证书,则不用这一步

点击查看代码
mkdir /etc/nginx/ssl
cat > /etc/nginx/ssl/nginx.cnf <<EOF
[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = req_ext
x509_extensions    = v3_req
prompt             = no

[ req_distinguished_name ]
C  = CN    
ST = BeiJing(随便写个省份)
L = BeiJing (随便写个城市)
O = BlahBlah (随便写个公司)
OU = BlahBlah (随便写个区域)
CN = aaa.abc.com  # 这里一定是自己即将配置的域名

[ req_ext ]
subjectAltName = @alt_names

[ v3_req ]
subjectAltName = @alt_names

[ alt_names ]
IP.1 = xxx.xxx.xxx
DNS.1 = aaa.abc.com # 这里也是自己即将配置的域名
EOF

cd /etc/nginx/ssl

# 生成私钥
openssl genrsa -out server.key 2048

# 使用OpenSSL配置文件生成自签名证书
openssl req -x509 -new -nodes -key server.key -sha256 -days 3650 -out server.crt -config nginx.cnf

配置nginx

点击查看代码
vim /etc/nginx/sites-enabled/default
server {
	listen 80;
	listen [::]:80;
    listen 443 ssl;
	listen [::]:443 ssl;
    
    #判断,跳转 将所有http服务都跳转到https上
	if ( $scheme = 'http' ) {
		return 302 https://aaa.abc.com/;
	}

	server_name aaa.abc.com;
    #证书 证书的位置 /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";

	root /var/www/example.com;
	index index.html;

	location / {
		try_files $uri $uri/ =404;
	}
}

这样就开启了https

但是,咱们这里是自签名证书,在浏览器上访问的时候会被是不被信任或者不安全的链接,所以还需要在浏览器中安装证书

或者

安装证书

这里需要用到上面生成的 server.crt 证书

如果你的证书也是crt结尾的,那在windows中是可以直接双击安装的

可以通过图标查看是否可以直接双击

双击安装,点击 安装证书

下一步

将所有的证书都放入下列存储---->浏览---->受信任的根证书颁发机构---->确定---->下一步

为了保险,安装成受信任的根证书颁发机构后,再安装一遍,安装到受信任的发布者

完成

此时再重启浏览器,再访问刚刚的网址

就会发现,已经显示安全了


也可以通过浏览器导入

谷歌浏览器

找到设置中的隐私与安全

往下翻,找到管理证书

然后找到 受信任的根证书颁发机构,再导入证书

Microsoft Edge

找到隐私中的安全性部分的管理证书

然后会弹出同样的框,然后找到 受信任的根证书颁发机构,再导入证书就可以了

经测试,这种方法无法在火狐浏览器中导入,知道如何在获取浏览器中信任自签名证书的小伙伴可以评论区说以下

标签:浏览器,ssl,证书,开启,server,nginx,EECDH,https
From: https://www.cnblogs.com/guangdelw/p/18281733

相关文章

  • 星火网文助手:开启AI辅助小说写作的全新时代
    星火网文助手是一个一站式AI创作平台,专为小说写作设计,提供从灵感生成到续写、润色的全方位辅助服务。以下是该平台的一些关键特性和优势:核心功能:AI创作辅助:提炼畅销题材,捕捉市场热门趋势,辅助作者把握创作方向。AI智能拆书:分析热门作品的逻辑和节奏,帮助作者学习和模仿成功作......
  • Nginx实战书籍_220
    ......
  • Nginx实战书籍_240
    ......
  • Nginx实战书籍_260
    ......
  • Nginx实战书籍_280
    ......
  • tengine/nginx https请求 转发 http upstream
    转载自:https://blog.csdn.net/windywolf301/article/details/135548805?spm=1001.2014.3001.5502为什么要将https转发为http当前的互联网应用基本都要支持https协议,而当浏览器头通过https协议将请求发到到负责负载的nginx后,会由当前nginx再以http协议向后端upstream进行请求,之所......
  • nginx配置获取客户端的真实ip
    https://blog.csdn.net/superzhang6666/article/details/132901093 对于nginx获取客户端真实ip做个总结对于首层代理服务器,使用proxy_set_headerX-Forwarded-For$remote_addr;来将客户端IP赋值给X-Forwarded-For请求头对于非首层代理服务器,使用proxy_set_headerX-Forwarded......
  • kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验
    场景:kettle调用https接口,跳过校验SSL。(有些公司内部系统之间的https的接口是没有SSL校验这一说,无需使用用证书的) 解决方案:自定义插件或者自定义jar包通过javascript调用https接口。1、httppost步骤调用https接口,无法通过ssl安全校验,如下图所示:查看了kettle源码之后该步骤......
  • Nginx proxy manager反向代理docker hub
    1.域名解析用作反向代理的域名要提前解析,如果使用外国的DNS域名提供商的话,最好提前一天解析好。2.配置NPM2.1.Details选项卡2.2.SSL选项卡2.3.Advanced选项卡location/{#Dockerhub的官方镜像仓库proxy_passhttps://regis......
  • Nginx配置以及热升级
    目录Nginx详解1.Nginx关键特性2.Nginx配置2.1event2.2http2.2.1log_format2.2.2sendfile2.2.3tcp_nopush2.2.4tcp_nodelay2.2.5keepalive_timeout2.2.6include2.2.7default_type2.2.8server3.配置Nginx虚拟主机3.1基于端口3.2基于IP3.3基于域名4.Location4.1拒......