-
2019-12-05 20:38:09
运用场景:服务器是腾讯云的服务器,服务器是CentOS 7.X,用nginx进行客户端反向代理。域名是阿里云的域名。SSL证书是腾讯云申请的CA免费型证书。
希望达到的效果:不在证书中显示申请单位名称,只显示网站域名,网站前面添加绿色的https://... 。之前在阿里云申请的免费型证书会在域名前面显示个人(公司名称)信息,因为网站是做个人测试用,不需要在地址栏显示个人信息,所以后来选择腾讯云的ssl证书
第一步:申请腾讯云SSL证书,我这里是CA免费证书。
第二步:去阿里云域名解析,在解析列表里选择添加记录,把腾讯云中证书详情的内容添加到阿里云的解析记录中。添加完成后等待证书审核,大概需要花十分钟左右。
第三步:下载证书并解压。把证书中的.crt(证书文件)和.key(密钥文件)结尾的文件上传至服务器中。我在nginx安装的根目录中新建了一个cert文件夹,文件夹路径为/etc/nginx/cert (这个因人而异),
第四步:编辑nginx.conf配置文件,我这里是编辑default.conf文件。
server { #SSL 访问端口号为 443 listen 443; #填写绑定证书的域名 server_name www.domain.com; #启用 SSL 功能 ssl on; #证书文件名称 ssl_certificate 1_www.domain.com_bundle.crt; #私钥文件名称 ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 root /var/www/www.domain.com; index index.html index.htm; } }
第五步:HTTP 自动跳转 HTTPS 的安全配置(可选)
server { listen 443 ssl; #填写绑定证书的域名 server_name www.domain.com; # ssl on; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 root /var/www/www.domain.com; index index.html index.htm; #证书文件名称 ssl_certificate 1_www.domain.com_bundle.crt; #私钥文件名称 ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { index index.html index.htm; } } server { listen 80; #填写绑定证书的域名 server_name www.domain.com; #把http的域名请求转成https rewrite ^(.*)$ https://$host$1 permanent; }
这里 rewrite ^(.*) https://$host$1 permanent; ## $host改为自己网站的域名即可
更多相关内容 -
nginx配置https访问
2022-04-25 11:56:451. 安装nginx 参考博文:centos7中nginx安装 需要安装 openssl 和 openssl-dev,nginx编译时需要带上 with-http_ssl_module ... } } 启动nginx后,访问正常启动nginx后,使用 https://127.0.0.1:443 访问,可以正常跳转1. 安装nginx
参考博文:centos7中nginx安装
需要安装 openssl 和 openssl-dev,nginx编译时需要带上 with-http_ssl_module 模块2. 生成证书
在 nginx安装目录下(如:/usr/local/nginx)创建一个ssl目录,用来存放证书文件,然后进入ssl目录,执行后面证书生成相关指令。
证书相关密码设置: SSLPWD=“123456”
2.1 创建私钥
执行命令:
openssl genrsa -des3 -passout pass:$SSLPWD -out demo.key 1024
- -des3:使用des3 cbc模式对私钥文件进行加密
- demo.key 是私钥文件名,可以自定义
- $SSLPWD 为设置的私钥密码,这里指123456
- -passout 通过该参数代替shell 进行密码输入,否则会提示输入密码
2.2 创建crs证书
执行命令:
openssl req -new -key demo.key -passin pass:$SSLPWD -subj "/C=CN/ST=Beijing/O=RS/OU=RS/CN=RDI-SERVER/emailAddress=Rs@163.com" -out demo.csr
- 其中key文件就是第一步生成的私钥,demo为自定义的文件名
- passin 参数代替shell自动输入密码,否则会提示输入密码
- -subj 参数,设置其他相关信息
完成以上两步后,ssl中会生成demo.csr和demo.key两个文件:如下图
2.3 去除密码
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码,执行以下命令:
openssl rsa -in demo.key -passin pass:$SSLPWD -out demo.key
2.4 生成crt证书
执行命令:
openssl x509 -req -days 3650 -in demo.csr -signkey demo.key -out demo.crt
- x509 命令主要用于创建、修改x509证书
- days 设置证书有效时间(天数)
证书生成完毕,我们在ssl文件夹中可以看到生辰的证书文件,我们要用到的就是demo.crt和demo.key
3. 修改nginx配置
在nginx.conf配置文件中添加一个如下server:
server { listen 443 ssl; server_name localhost; ssl_certificate /usr/local/nginx/ssl/demo.crt; ssl_certificate_key /usr/local/nginx/ssl/demo.key; location / { root html; index index.html index.htm; } }
启动nginx后,访问正常启动nginx后,使用 https://127.0.0.1:443 访问,可以正常跳转
-
nginx实现https访问
2020-07-01 15:16:53nginx实现https访问 背景: 项目背景是在开发APP发布平台,ios的安装包的下载和自动更新等操作需要https获取plist文件,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要做一个网站域名为 域名.com ...nginx实现https访问
背景:
项目背景是在开发APP发布平台,ios的安装包的下载和自动更新等操作需要https获取plist文件,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要做一个网站域名为 域名.com 要求通过HTTPS://域名.com进行访问.
SSL英文名为Secure Socket Layer,安全套接字层。SSL是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输.
一,环境准备
1.安装nginx,2.获取安全证书
1.安装nginx(已安装可以跳过)
第一步:下载nginx压缩包
nginx官方下载地址:http://nginx.org/en/download.html
wget命令下载:
wget -c https://nginx.org/download/nginx-1.16.1.tar.gz
注意:这一步最好在自己的目标目录进行操作,我一般是把压缩包下载到/usr/local目录下。
第二步:配置nginx安装所需的环境
1. 安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。安装指令如下:
yum install gcc-c++
2. 安装PCRE pcre-devel
Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:
yum install -y pcre pcre-devel
3.安装zlib
zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:
yum install -y zlib zlib-devel
4.安装Open SSL
nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:
yum install -y openssl openssl-devel
第三步:解压nginx压缩包并安装
将压缩包进行解压
tar -zxvf nginx-1.16.1.tar.gz
解压之后,进入加压文件,即cd nginx-1.16.1。
然后进行配置,推荐使用默认配置,直接./configure就好了,如下图所示:第四步:编译安装nginx
这里和redis的编译安装比较类似,首先在当前目录(/usr/local/nginx-1.16.1)进行编译。输入make即可make
然后回车,如果编译出错,请检查是否前面的4个安装都没有问题。
编译成功之后,就可以安装了,输入以下指令:make install
ok,安装成功。
这时候返回上一级目录,就会发现多了nginx目录,接下来,启动nginx。第五步:启动nginx
进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx
./nginx
关闭nginx
./nginx -s quit 或者 ./nginx -s stop
重启nginx
./nginx -s reload
查看nginx进程
ps aux|grep nginx
设置nginx开机启动,只需在rc.local增加启动代码即可。
vim /etc/rc.local
然后在底部增加/usr/local/nginx/sbin/nginx
nginx配置文件
/usr/local/nginx/conf目录可修改nginx的配置文件 -> vim nginx.conf
修改域名以及端口等
2.ssl证书:
1. 配置SSL模块首先需要CA证书,CA证书可以自己手动颁发也可以在阿里云申请,本人在腾讯云上申请的证书。
2. 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数.
获取证书:
在成功购买域名并通过备案后
1.进入控制台
2.下载证书
下载下来的文件:
nginx文件下:
二、实现nginx+https
1.安装ssl模块
正常安装nginx一般ssl模块并未被安装
默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数
解决方案:
nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看: 做个说明:我的nginx的安装目录是/usr/local/nginx这个目录,我的源码包在/usr/local/nginx-1.16.1目录
(1)切换到源码包:
cd /usr/local/nginx-1.16.1
(2)配置信息:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
(3)配置完成后,运行make进行编译,千万不要进行make install,否则就是覆盖安装。
make
(4)然后备份原有已经安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
(5)停止Nginx,正常命令直接 nginx -s stop就可以
nginx -s stop
如果关不掉,就直接Kill掉进程。ps aux | grep 进程名 查看进程占用的PID号。
(6)将刚刚编译好的nginx覆盖掉原有的nginx
cp /usr/local/nginx-1.16.1/objs/nginx /usr/local/nginx/sbin
(7)启动nginx
在路径:/usr/local/nginx/sbin下
./nginx
(8)通过下面的命令查看是否已经加入成功。
nginx -V
2.在Nginx配置文件中安装证书
文件说明:
1. 证书文件“证书名称.crt‘’,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件“证书名称.key”。
( 1 ) 在Nginx的配置文件所在的目录下创建cert文件夹,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为“证书名称.key”;
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# 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; # } #}
( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
server { listen 8095 ssl; server_name localhost; ssl_certificate cert/1_luckilye.cn_bundle.crt; ssl_certificate_key cert/2_luckilye.cn.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; } location /file/ipaPlist/{ 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_pass http://47.92.27.**:8086/file/ipaPlist/; } }
( 4 )重启 Nginx。
nginx -s reload
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。 在浏览器中输入https://域名,如下图所示,则说明配置成功。
在配置时有可能碰到的错误:
nginx 报错 : [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead
解决:
1. 如果配置了SSL ON请删掉
2.
listen 443;
修改为
listen 443 ssl;
-
minio 配置https访问
2021-09-02 11:55:31前提已经正确安装了minio能正确访问 官网上有介绍如何配置: https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls.html 我们选择第一种:在 MinIO 中使用现有的密钥和证书 将现有的私钥和...前提已经正确安装了minio能正确访问
官网上有介绍如何配置:
MinIO | Learn how to secure access to MinIO server with TLS
可以直接看教程。下面是划重点:
我们选择第一种:在 MinIO 中使用现有的密钥和证书
将现有的私钥和公共证书复制到certs目录中。默认的 certs 目录是:
Linux: ${HOME}/.minio/certs
如果以root登录,就是如下
在certs目录中,私钥必须命名private.key,公钥必须命名public.crt。
可以使用--certs-dir命令行选项指定自定义证书目录的位置。
由 CA 签署的证书包含有关颁发的身份(例如名称、到期时间、公钥)和任何中间证书的信息。不包括根 CA。如何自签名证书:可以找一个在线的,输入一些信息后就能生成一个:在线生成https证书、自签名https证书在线生成、生成自签名https证书--查错网
也可以用openssl等制作
拷贝过去以后,重启minio。
如果提示:
RROR Unable to load the TLS configuration: Missing TLS password
> Please set the password to environment variable `MINIO_CERT_PASSWD` so that the private key can be decrypted这是因为生成证书的时候设置了密码:
注意:使用受密码保护的私钥时,必须MINIO_CERT_PASSWD使用以下命令通过环境变量提供密码:export MINIO_CERT_PASSWD=<PASSWORD>,<PASSWORD>替换成自己的密码不带尖括号
设置完成后,重启。没找到像nginx -s reload的命令。就查找进程,kill进程,然后在启动
1、ps -ef|grep minio
2、 kill -9 pid
启动:nohup /usr/local/minio server /home/minio/data
启动后就能通过https是访问了。
注意:端口号还是原来设置的端口号。并不是默认的443
生成自签名证书的简单方法
https://github.com/minio/certgen
链接:https://pan.baidu.com/s/1qn4i2SZZYPs3NQbKnJ6I5w
提取码:ektw下载后直接执行命令,注意后面的host一定和部署的ip对应,否则启动的时候会报错
widnows下:certgen-windows-amd64.exe -ca -host "10.10.0.3,10.10.0.4,10.10.0.5"
certgen -ca -host "10.10.0.3,10.10.0.4,10.10.0.5"
-
Django配置Https访问
2019-11-08 10:14:09Django配置Https访问问题描述相关知识普及什么是http?什么是https?http vs https功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一... -
设置minio 支持https访问
2022-01-18 15:11:36一、安装openssl Ⅰ、windows平台 1、下载安装包 方式一:官网下载 方式二:第三方制作 方式三:本站资源,将上述两种方式的安装包上传到了本站,方便下载 ...windows平台建议通过上述方式二下载安装包,然后默认... -
vue开启https访问
2021-05-20 13:58:21打build文件夹中webpack.dev.conf.js文件添加https:true;如下图 重新启动项目查看启动日志输出窗口如下图,即可使用https访问项目 -
https访问http资源
2020-12-03 16:29:26页面添加 <metahttp-equiv="Content-Security-Policy"content="upgrade-insecure-requests"> 或者服务端配置的响应头 header("Content-Security-Policy:upgrade-insecure-requests"); -
https访问出现无法访问此网站
2020-06-19 15:11:301.通过记事本管理员权限打开修改C:\Windows\System32\drivers\etc\hosts文件 通过网页已经能够访问到网址,但是这个只限于本机。...2.如果想外网都能访问就得在域名管理里高级设置同意https访问请求。 我这里 -
nginx安装ssl证书后,通过http可以正常访问,但是https访问失败,问题解决
2022-02-18 15:51:42nginx安装ssl证书后,通过http可以正常访问,但是https访问失败,问题解决 修改nginx.conf文件,在https服务443端口下添加 location / { proxy_pass http://127.0.0.1:8090; } ipIP地址和端口根据实际修改 -
Harbor配置https访问
2021-04-19 14:23:42Harbor配置https访问1.证书生成位置2. 生成CA证书私钥3. 生成域名私钥4. 生成一个x509 v3扩展文件5. 使用该v3.ext文件为您的Harbor主机生成证书6. 转换.crt为.cert,供Docker使用7. 将服务器证书,密钥和CA文件复制... -
前端https访问http问题
2021-01-18 15:40:43开发的时候遇到过,就是https无法加载http资源的问题 其实原因是csp里面的Content-Security-Policy协议,市面上所有的浏览器都开启了 ... -
nginx支持https访问
2018-10-24 09:44:16为了提高web应用的安全性,现在基本上都需要支持https访问。在此记录一下自己在nginx下的配置过程。 准备安装包 将nginx-1.12.1.tar.gz、openssl-1.0.0e.tar.gz拷贝到 /root/ 下(如果文件已经存在,则不需要... -
本地node.js服务启用HTTPS访问
2022-03-31 11:31:36本地node.js服务启用HTTPS访问,本地服务怎么启用HTTPS,本地怎么快速启用HTTPS -
如果在宝塔面板中开启网站的 HTTPS 访问?
2020-12-19 22:00:39发布者:前端集合 // 发布时间:2019-04-08 07:36:00 // 搬*瓦*公 电信直连CN2优质专线512MB 内存,20G SSD,1T 流量,190元每年网上有快速直接在宝塔面板里设置https的教程,但是我没有按照这个教程去做,而是自己... -
springboot配置https访问
2020-09-01 15:39:30现在可以通过https://域名:8089/index访问,这样就看到熟悉的小锁了 8.通过域名访问失败原因及解决办法 域名未配置解析,去域名管理配置解析,10分钟后通过ping 域名看是否显示ip,显示则解析成功! 域名未认证,去... -
HTTP访问转HTTPS访问的总结--关于本地https访问以及服务器https访问配置
2018-01-09 13:22:56主要总结了本地https访问以及tomcat配置https访问的小知识点。 -
nginx配置https,支持http和https访问
2019-07-18 17:47:44移动产品,升级https,由于用了nginx反向代理,所以就把https锁定在了nginx 前期准备 申请阿里云SSL证书 1、找到阿里云SSL证书 2、购买证书 3、根据自己的需求选择证书类型 4、进入SSL证书控制台 5、... -
Tomcat配置HTTPS访问
2019-05-17 11:00:31在tomcat中存在两种证书验证情况 (1)单向验证 (2)双向验证 1.tomcat单向认证 服务器端会提供一个公开的公钥,每一个访问此服务器...找到端口号为433的配置段,433是访问HTTPS的端口号添加如下内容 <Connector po... -
https访问http接口处理
2020-05-16 17:21:34https://www.openssl.org/下载 生成证书 1、生成私钥 # genra 生成RSA私钥 # -des3 des3算法 # -out server.key 生成的私钥文件名 # 2048 私钥长度 openssl genrsa -des3 -out server.pass.key 2048 2、去除私钥中... -
Elastic:为 Elasticsearch 启动 HTTPS 访问
2020-03-23 15:54:48特别是在Elastic SIEM的安全领域,我们需要把Elasticsearch的访问变为https的访问,这样使得我们的数据更加安全可靠。 安装Elastic Stack 首先,我们可以按照之前的文章“Elastic:菜鸟上手指南” 安装Elastic... -
https 访问 iframe 的http
2020-08-24 16:00:41最近做的项目要求https 嵌入http的项目,浏览器老是提示https不能访问http, 为了满足需求,在本地项目中添加了nginx转发服务 将项目中的iframe 转发为https,再又nginx将https转发至http 满足需求了。 nginx配置 多... -
教你快速配置wordpress由http变成https访问
2021-04-29 17:52:25如果你不了解建一个网站的基本流程,可以阅读教程:个人和企业搭建网站主要流程以及六个基本步骤 成功案例 图片上的网站是我业余时间临时搭建的,现在支持https访问,现在写文章记录下。 案例站点:... -
阿里云服务器使用https访问项目
2018-11-06 12:48:54阿里云服务器使用https访问项目 目录 阿里云服务器使用https访问项目 (1)在控制台顶层的搜索框找ssl,选第一个 (2)点击右上角的购买证书 (3)上传证书,修改配置 (4)开放端口。 (5)之后重启tomcat就... -
域名使用https访问配置
2018-12-26 17:08:00配置HTTPS单向认证 https://help.aliyun.com/document_detail/54523.html?spm=5176.11065259.1996646101.searchclickresult.5eb86d10TqoW9F 证书 ... -
服务器http可以访问https访问不了
2019-11-25 16:08:57一般是开启了防火墙,没开放443端口。 -
SpringBoot2.x配置HTTPS访问
2019-07-08 18:32:26SpringBoot2.x配置HTTPS访问,总体上可以分为两大步:一.生成SSL证书;二.配置HTTPS访问。 一.生成SSL证书 取得SSL证书的方法有:(1)阿里云购买免费的ssl证书 (2)用命令生成ssl证书 因为在阿里云购买后需要... -
vue项目本地开启https访问模式
2020-08-05 18:09:23在实际开发中,我们会以https形式进行页面访问,但是根据vue-cli的版本不同,配置方式也有所差异,以下分别从vue-cli3.x和vue-cli2.x构建的项目分别进行配置开启https: -
Minio+Nginx+Https访问
2021-02-25 22:57:39Minio+Nginx+Https访问 缘起 最近感觉OSS比较有意思,然后发现网上有一款开源的软件Minio,算是OSS技术的的开源实现吧,最近玩了一下。想搞一下Https访问,但是Minio官方文档里面实在没看太懂,就想曲线救国,用...