当前位置: 首页 > news >正文

浅蓝色.net企业网站源码带后台免费个人网站搭建

浅蓝色.net企业网站源码带后台,免费个人网站搭建,工业设计公司名字,电商运营数据六大指标们的客户是在内网环境里面#xff0c;所以就只能用自签名证书来搞#xff0c;我一想这还不容易#xff0c;就迅速的百度了一下随便找了个文章开始照猫画虎#xff0c;很快就弄完了#xff0c;但是弄完后发现还是有问题#xff0c;而且https 还是报不安全#xff0c; 1、…们的客户是在内网环境里面所以就只能用自签名证书来搞我一想这还不容易就迅速的百度了一下随便找了个文章开始照猫画虎很快就弄完了但是弄完后发现还是有问题而且https 还是报不安全 1、基于nginx版本 1、证书生成 生成密钥采用的是des3算法 openssl genrsa -des3 -out server.key 2048根据密钥签发申请文件CSR openssl req -new -key server.key -out server.csr #这一步主要是去除密钥的密码便于后续部署 openssl rsa -in server.key -out server.key #生成自签名根证书并设置证书的有效期crt是发给客户端的证书 openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt #有的需要pem的证书对证书做的转换 openssl x509 -in server.crt -out server.pem -outform PEM 2、配置Nginx server {listen 8080 ssl; #端口增加SSL支持server_name _;charset utf-8;# ssl on;ssl_certificate /data/app/nginx/nginx/cert/server.crt;# 证书文件ssl_certificate_key /data/app/nginx/nginx/cert/server.key; #私钥文件# access_log ./logs/access_stream.log main;# error_log ./logs/error_stream.log;location / {root /home/nginx/knowledge2.0/;index index.html;}error_page 500 502 503 504 /50x.html;location /50x.html {root html;} }3、浏览器访问 使用https协议访问8080端口但是会提示证书不可信后面我们会详细讲解怎样解决这个问题。 对于浏览器提示证书不可信由于采用的自签名证书浏览器是没有我们的自签名证书导致。 4、证书不可信解决方案 生成证书时候增加ext.ini extendedKeyUsage serverAuth, clientAuth basicConstraints CA:FALSE keyUsage nonRepudiation,digitalSignature,keyEncipherment subjectAltName alt_names[alt_names] IP.1172.1.0.1 DNS.1www.test.com然后重新使用Openssl重新生成证书上述配置说明该证书是IP或者域名所有的: openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt -extfile ext.ini 生成证书然后导出crt证书在windows下加入到信任的根证书下面再次访问浏览器浏览器访问不会报错 二、基于域名的https 证书相关文件格式说明 .key 私钥文件 .pem 根证书公钥 .crt 域名证书公钥 自签名文件的生成过程 这里用的工具是openssl怎么安装可以自行查一下 普通域名的自签名 我们以域名 td.todocoder.com为例 创建证书目录/root/cert进入/root/cert 创建 rootCA.key $ openssl genrsa -des3 -out rootCA.key 2048 使用生成的密钥(rootCA.key)来创建新的根SSL证书。并将其保存为rootCA.pem证书有效期为10年 $ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem输入第一步设置的密码 Enter pass phrase for rootCA.key: Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:Zhengzhou Locality Name (eg, city) []:Zhengzhou Organization Name (eg, company) [Internet Widgits Pty Ltd]:todocoderCA Organizational Unit Name (eg, section) []:todocoderCA Common Name (e.g. server FQDN or YOUR name) []:RootTodoCoder Cert Email Address []:todocodergithub.com这一行是把pem 转换成 crt格式 $ openssl x509 -outform der -in rootCA.pem -out rootCA.crt 提示填写的字段大多都可以直接回车过就行了只要Common Name字段需要填写内容这是生成跟证书后导入到系统的证书名称我填的是RootTodoCoder Cert创建生成域名ssl证书的前置文件 在这里我生成一个 td.todocoder.com 的域名证书。创建一个td.ext文件以创建一个X509 v3证书。注意我们指定了subjectAltName选项。cat td.ext EOF authorityKeyIdentifierkeyid,issuer basicConstraintsCA:FALSE keyUsagedigitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltNamealt_names[alt_names] DNS.1 td.todocoder.com EOF 这里的 [alt_names] 域中即为我们需要指定的 subjectAltName可以配置多个 IPDNS 或其他值。生成域名ssl证书秘钥tdtodocoder.csr、tdtodocoder.key $ openssl req -new -sha256 -nodes -out tdtodocoder.csr -newkey rsa:2048 -keyout tdtodocoder.keyCountry Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:Zhengzhou Locality Name (eg, city) []:Zhengzhou Organization Name (eg, company) [Internet Widgits Pty Ltd]:todocoder Organizational Unit Name (eg, section) []:todocoder Common Name (e.g. server FQDN or YOUR name) []:td.todocoder.com Email Address []:todocodergithub.com A challenge password []:rootCA An optional company name []:todocoder这一步填写域名证书密钥需要的信息会展示在浏览器的域名证书信息其中最重要的是Common Name的内容必须是对应需要https访问的域名的。 通过我们之前创建的根SSL证书颁发创建出一个 test.testcloudide.com 的域名证书。输出是一个名为的证书文件ttestcloudide.crt对应位置替换为自己的文件路径 $ openssl x509 -req -in tdtodocoder.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out tdtodocoder.crt -days 500 -sha256 -extfile td.ext 以上我们把域名 td.todocoder.com的证书已经创建好了文件目录如下. ├── rootCA.crt ├── rootCA.key ├── rootCA.pem ├── td.ext ├── tdtodocoder.crt ├── tdtodocoder.csr └── tdtodocoder.key接下来我们看一下在nginx 和k8s中是如何用的。 nginx 配置域名td.todocoder.com的证书 我们拿到上面几步生成的 td.todocoder.com域名的文件tdtodocoder.key、tdtodocoder.crt 配置到nginx的配置中 server {listen 443 ssl;# 以td.todocoder.com域名访问server_name td.todocoder.com;# 配置ssl域名证书ssl_certificate [ssl证书路径]/tdtodocoder.crt;ssl_certificate_key [ssl证书路径]/tdtodocoder.key;index index.html index.php;# 反向代理需要被访问的本地服务location / {proxy_pass http://localhost:8080;}...} 自签名的域名访问需要配置host vi /etc/hosts 192.168.111.37 td.todocoder.com然后直接访问 td.todocoder.com 在浏览器上应该可以看到证书的信息注意此时浏览器还提示的是证书无效不安全。后面需要在操作系统信任一下证书就可以了。 如果你用的是k8s 可以在ingress中配置 ingress配置tls证书 创建secret $ kubectl -n todocoder create secret tls tdtodocoder-certs --key tdtodocoder.key --cert tdtodocoder.crt # 重启ingress controller $ kubectl rollout restart daemonset.apps/nginx-ingress-controller -n ingress-nginx 配置ingress yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress-todocodernamespace: todocoderannotations:nginx.ingress.kubernetes.io/ssl-redirect: true spec:tls:- hosts:- td.todocoder.comsecretName: tdtodocoder-certsingressClassName: nginxrules:- host: td.todocoder.comhttp:paths:- backend:service:name: todocoder-frontport:number: 8080path: /?(.*)pathType: ImplementationSpecific以上我们把域名 td.todocoder.com的证书已经创建好了如果不创建泛域名的证书可以直接跳过泛域名的创建过程。接下来我们看一下泛域名证书的签名流程 泛域名的自签名 泛域名是域名前面的字符不是固定的可能会根据id生成比如我的 id是fsd423dsf234dsfs, 我自己的泛域名就是 fsd423dsf234dsfs.todocoder.com ,每个用户都可以有不同的域名。那么我们只需要配置 *.todocoder.com 这个域名就可以具体操作流程如下 从上面第3步开始我们需要用同一个根证书签名所以rootCA 的证书就不用再新建了 创建生成域名ssl证书的前置文件 创建一个fanym.ext文件, 注意我们指定了subjectAltName选项。 cat fanym.ext EOF authorityKeyIdentifierkeyid,issuer basicConstraintsCA:FALSE keyUsagedigitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltNamealt_names[alt_names] DNS.1 *.todocoder.com EOF注意这里的 域名配置的 *.todocoder.com 生成域名ssl证书秘钥fantodocoder.csr、fantodocoder.key $ openssl req -new -sha256 -nodes -out fantodocoder.csr -newkey rsa:2048 -keyout fantodocoder.keyCountry Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:Zhengzhou Locality Name (eg, city) []:Zhengzhou Organization Name (eg, company) [Internet Widgits Pty Ltd]:fantodocoder Organizational Unit Name (eg, section) []:fantodocoder Common Name (e.g. server FQDN or YOUR name) []:*.todocoder.com Email Address []:todocodergithub.com ... A challenge password []:rootCA An optional company name []:fantodocoder这一步填写域名证书密钥需要的信息会展示在浏览器的域名证书信息其中最重要的是Common Name的内容必须是对应需要https访问的域名的。 通过我们之前创建的根SSL证书rootCA.pem, rootCA.key颁发创建出一个 *.todocoder.com 的域名证书。输出是一个名为的证书文件fantodocoder.crt对应位置替换为自己的文件路径 $ openssl x509 -req -in fantodocoder.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out fantodocoder.crt -days 500 -sha256 -extfile fanym.extCertificate request self-signature ok subjectC CN, ST Zhengzhou, L Zhengzhou, O fantodocoder, OU fantodocoder, CN *.todocoder.com, emailAddress todocodergithub.com Enter pass phrase for rootCA.key: 当前的目录结构. ├── fantodocoder.crt ├── fantodocoder.csr ├── fantodocoder.key ├── fanym.ext ├── rootCA.crt ├── rootCA.key ├── rootCA.pem ├── td.ext ├── tdtodocoder.crt ├── tdtodocoder.csr └── tdtodocoder.key Nginx 配置 server {listen 443 ssl;server_name *.todocoder.com;# 配置ssl域名证书ssl_certificate [ssl证书路径]/fantodocoder.crt;ssl_certificate_key [ssl证书路径]/fantodocoder.key;index index.html index.php;# 反向代理需要被访问的本地服务location / {proxy_pass http://localhost:8080;}...}我们用泛域名 fsd423dsf234dsfs.todocoder.com访问访问之前需要配置hosts vi /etc/hosts 192.168.111.37 fsd423dsf234dsfs.todocoder.com 访问 fsd423dsf234dsfs.todocoder.com 可以看到我们刚刚的泛域名证书信息。 截止到这一步我们的域名在nginx或者k8s端已经配置完成我们想要的效果是在https 访问的时候不报错并且提示证书安全有效那么需要我们在我们的操作系统上配置信任证书 各个系统下证书的信任流程 mac 下证书的添加方式 mac系统只需要添加 域名证书就可以不用添加rootCA 证书 在mac下我们拿到证书后双击tdtodocoder.crt文件-打开钥匙串-选择信任 然后重启浏览器再访问 td.todocoder.com可以看到显示https 安全了 Windows下证书的添加方式 Windows 需要添加 rootCA 和域名的证书到系统里面 如果要访问 td.todocodoer.com 需要安装 rootCA.crt、tdtodocoder.crt 这两个证书 双击CA根证书-存储位置选择本地-指定证书位置(受信任的根证书颁发机构) ubuntu下证书的添加方式 我的系统是Ubuntu 桌面版 22.04 的版本, ubuntu需要添加 rootCA 和域名的证书到系统里面 拷贝证书到ca证书的目录 $ sudo cp tdtodocoder.crt /usr/share/ca-certificates/mozilla/tdtodocoder.crt $ sudo cp fantodocoder.crt /usr/share/ca-certificates/mozilla/fantodocoder.crt $ sudo cp rootCA.crt /usr/share/ca-certifi cates/mozilla/rootCA.crt 执行下面的命令按提示选中新添加的证书确定(点回车) 选中点空格键然后选 ”OK” 就行了 $ sudo dpkg-reconfigure ca-certificatesUpdating certificates in /etc/ssl/certs... rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL rehash: warning: skipping rootCA.pem,it does not contain exactly one certificate or CRL 1 added, 0 removed; done. 正在处理用于 ca-certificates (20230311ubuntu0.22.04.1) 的触发器 ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done.点回车,点空格选中 - 回车确定 就可以了. 火狐浏览器证书的添加方式 Chrome,safari,Edge等浏览器直接就可以访问了但是火狐浏览器(ubuntu桌面版火狐其他系统的没试)的话需要在设置里面添加跟证书。具体操作 点击设置- 搜索证书,点击查看证书 - 证书颁发机构 - 导入 - rootCA.crt - 编辑信任 可以看到火狐浏览器已经显示安全 参考 https://mp.weixin.qq.com/s/Qi2pDCBJYGymLJxBIvqvqg
http://www.zqtcl.cn/news/628224/

相关文章:

  • wordpress 企业网站教程网站开发集成软件
  • 专业的西安免费做网站wordpress手机端插件
  • 口碑好网站建设优化大师win10下载
  • 网站建设普及型小程序开发平台好的有哪些
  • 网站建设与管理专业凡科做的网站好吗
  • wordpress添加变量福州seo网站管理
  • 哔哩哔哩免费网站观看网站制作合同书
  • 自流井移动网站建设建设网站的一般步骤
  • 手机导航网站模板上海低价网站建设
  • 如何开公司注册需要多少钱东莞网站推广优化网上推广公司
  • 新闻门户网站制作教育培训网站开发
  • 网站建设公司哪个好一点最近一周的热点新闻
  • 做最优秀的自己的视频网站佛山搜索引擎优化
  • 六盘水市网站建设免费封面设计在线制作生成
  • 北京快速建站制作公司wordpress wpoptions
  • iis如何建立网站门源县住房和城乡建设局网站
  • 装修素材图片都从什么网站找铁门关网站建设
  • 网站服务器环境不支持mysql数据库免费商标图案logo
  • 以什么主题做网站好wordpress怎么设置404
  • 为什么手机进网站乱码网络营销工具的特点
  • DW怎么做网站下拉菜单网站建设外包网站
  • 手机做兼职的网站设计公司注册记账代理公司
  • 如何在vs做网站建筑工程电影网
  • 甘肃网站开发网站建设自己在家接单
  • 龙岗网站制作资讯福田区龙岗区发布通告
  • 百度如何快速收录网站嘉兴手机建站模板
  • 服务注册中心有哪些给你一个网站你如何做优化
  • 我做网站如何分流客户openwrt 做视频网站
  • 徐州微信网站建设建设工程项目
  • 便宜网站建设公司envision wordpress