首页 > 编程知识 正文

vue打包部署nginx,vue部署到nginx服务器

时间:2023-05-05 06:15:05 阅读:116757 作者:3603

虽然暂时没有更新,但今天我们将分享有关项目配置中HTTPS的问题

1、HTTP和HTTPS的区别HTTP是网络中的超文本传输协议,用于在Web浏览器和APP应用服务器之间进行数据传输。 HTTP的传输方式以明文进行,不进行任何加密处理。 由于这种方式便于攻击者监听或监听传输内容,为了在传输过程中处于安全状态,在HTTP中添加了SSL/TCL协议。 该协议意味着服务端需要用一个证书检查客户端,对传输内容进行加密处理。 这就是HTTPS。

2、SpringBoot、Nignx和客户端之间的验证过程一般不需要在开发环境中配置HTTPS设置。 当然,我也进行了配置,但是在SpringBoot vue环境中,服务器端配置了HTTPS,可以通过Postman配置的客户端证书进行访问接口,但在浏览器中配置了很多这里说明生产上的验证流程

当我们从客户端访问nignx的暴露端口时,客户端和nginx将同时验证对方的证书,以确保HTTPS协议的通行。 如果您从nignx代理到APP应用服务器的接口也必须是HTTPS,则在代理转发时,证书信息也必须发送给服务端,请服务端验证。 (这也是最后的一步,但再见() ) )。

3、生成证书的自签名证书,这里选择使用jdk带来的keytool工具生成。 当然,也可以选择其他方式。 目前,阿里、腾讯等地已经下载了免费证书。

服务器端证书keytool-genkey-alias服务器- keypass 123456-keyalg RSA-keysize 1024-validity 365-keystore [您的地址]/server.keystore-storepass 123456-alias (别名)-keypass (别名密码)-keyalg (密钥)算法长度)-validity (验证) 其中重要的是名字和姓氏项目。 如果此项具有域名,则可以在此处输入域名。但是,如果不建议填写localhost,则输入IP地址可能会导致证书验证失败。

客户端证书keytool-genkey-alias客户端- keypass 123456-keyalg RSA-storetype pkcs12-keypass 123456-storepass 123456-keystootod

2 .分别导出客户端cer证书和服务端cer证书

keytool-export-alias客户端- keystore [您的地址]/client.p12-storetype pkcs12-keypass 123456-file [您的地址]/client.cle server.keystore-export-alias server-file [您的地址]/server.cer服务器端证书可导入客户端公钥,从而使客户端的keytoood 使client .可信将客户端cer证书和服务端cer证书分别导入server.keystore-storepass 123456浏览器

分别双击两个刚刚导出的cer证书文件,并在导入后修改这两个证书文件,以便它们始终受信任。 您可以在mac上修改摘要,也可以在windows上修改右键单击的属性。 4、为SpringBoot项目配置HTTPS,将刚生成的server.keystore文件放在您项目的resources文件夹下,并将以下配置添加到您的application.yml文件中

server : SSL :启用: true key-store-type : jks key-store : class path : server.keystore key-store-pass : server.keystore信任存储密码3360123456信任存储提供商3360 sun信任- auth : need 5,Nginx安装SSL 有关您的Nginx上是否安装了SSL以及如何安装SSL模块的信息,请参考

3359 blog.csdn.net/QQ _ 31275085/article/details/105026331

6、Nginx配置https1.key文件和

pem文件
首先将我们刚刚生成的client.p12文件进行提取,提取成crt文件和pem文件 ,看了不少关于通过openssl明林进行提取的,略感麻烦,这里给大家推荐一个网站,可以直接进行下载提取,只不过在我们的电脑上在这个网站上转换后,点击下载没有反应,大家可以F12打开开发者工具,提取下载链接,在新页面打开,即可下载,下载解压后里面有三个文件,其中chain文件不用管,剩下的就是我们需要的key和pem文件
https://www.itrus.cn/service_caChange.html
2. nginx.conf文件的配置
首先在nginx/config/中创建cert文件夹,然后把上一步中得到的key和pem文件上传上去。
然后修改nginx.conf文件,下面是修改的地方,这里只显示关于HTTPS的配置。

server {listen [端口] ssl; server_name localhost; #证书存放地址 ssl_certificate cert/client.pem;(这里写你放证书的地址) ssl_certificate_key cert/client.key; ssl_client_certificate cert/client.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ... location ~ /api { proxy_pass https://[接口IP]:[端口]; # 这里是重点,如果上面的proxy_pass写成https的话这段是必须要配置的,不然只能访问页面,而页面调用端口不行 proxy_ssl_certificate cert/client.pem; proxy_ssl_certificate_key cert/client.key; proxy_ssl_protocols TLSv1 TLSV1.1 TLSv1.2; proxy_ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; proxy_ssl_session_reuse on; proxy_redirect off; ############ proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Nginx-Proxt true; proxy_set_header HTTP_X_FORWORDED_FOR $remote_addr; } ...}

到这里就完美结束了,有什么疑问,欢迎大家留言!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。