https自签证书+uniapp本地https证书代理

vite.config.js https 自签证书

// vite.config.js
import { defineConfig } from 'vite';
import { createCertificate } from 'vite-plugin-mkcert';

export default defineConfig({
 server: {
   https: true,
   proxy: {
     // 代理配置(如果需要的话)
   },
   // 自定义服务器端口
   port: 3000,
   // 自定义自签名证书
   https: {
     cert: createCertificate(),
     key: createCertificate(),
     // 如果需要信任该证书,可以在这里指定 CA 证书
     // ca: fs.readFileSync('/path/to/ca.crt'),
   },
 },
});

请注意,createCertificate函数是假设的,实际上您需要一个生成证书的库或函数。在实际中,您可能会使用mkcert或其他工具来生成证书。

如果您正在使用vite-plugin-mkcert,确保您已经安装了该插件,并且在您的项目中正确配置了。

npm install vite-plugin-mkcert --save-dev

然后在vite.config.js中引入插件:

import mkcert from 'vite-plugin-mkcert';
 
export default {
  plugins: [mkcert()],
  // ... 其他配置
};

uniapp 配置文件需要注意

https 调试 需要注意 manifest.json devServer 节点得删除,相关配置在 vite.config.js 里面配

使用mkcert插件时,Vite会自动生成一个自签名的SSL证书,并在启动开发服务器时使用它。这样您就可以通过HTTPS访问您的开发服务器了。

更多功能参考
https://gitcode.com/gh_mirrors/wi/windows/overview?utm_source=highlight_word_gitcode&word=windows
1.1 下载mkcert
mkcert 工具

https://gitee.com/stonedst/mkcert

然后到mkcert目录会看到可执行文件
运行

mkcert -install

现在就可以给域名或者ip创建证书了

mkcert  127.0.0.1
mkcert  *.abc.com

参考
https://blog.csdn.net/djfjkj52/article/details/135099163

另一种

openssl自签证书 linux

mkdir -p ~/ssl
cd ~/ssl
openssl req -nodes -new -x509 -keyout server.key -out server.crt -days 365

window 需要去官网下载

openssl
https://slproweb.com/download/Win64OpenSSL_Light-3_4_0.exe

切换到OpenSSL的安装目录

cd C:\OpenSSL-Win64\bin

生成私钥

openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048

生成自签名证书

openssl req -new -x509 -days 365 -key private.pem -out certificate.crt -subj "/C=US/ST=State/L=City/O=Organization/OU=Department/CN=localhost"

uniapp 服务如果是8080 需要在nginx 做个代理443端口转发

server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate /path/to/your/ssl/server.crt;
    ssl_certificate_key /path/to/your/ssl/server.key;

    location / {
        proxy_pass http://127.0.0.1:8080; # 假设你的uniapp开发服务器运行在这个地址
        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_set_header X-Forwarded-Proto $scheme;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容