局域网使用mkcert配置服务的https访问

制作ssl证书

下载mkcert

下载链接:https://github.com/FiloSottile/mkcert/releases

安装mkcert(windows为例),生成CA证书

下载完成后,在下载目录打开命令行,输入 mkcert -install 安装 CA证书

生成自签证书

mkcert 192.168.2.64 或者 mkcert example.com 生成自签证书

给客户端安装CA证书的公钥

mkcert -CAROOT 可以查看CA证书的位置
rootCA.pem改名为rootCA.crt 然后安装(改名若想继续生成自签证书,需要将名字改回去)、
安装证书目录需要选择证书存储,然后选“受信任的根证书颁发机构”

nginx 配置反向代理

安装nginx

apt-get install nginx

新建配置文件

cd /etc/nginx/site-available
touch example.com
vim example.com
     #SSL 默认访问端口号为 443
     listen 443 ssl;
     #请填写绑定证书的域名
     server_name example.com;
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate  /ssl/server.cer;
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key /ssl/server.key;
     ssl_session_timeout 5m; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3;
     ssl_prefer_server_ciphers on; 
 
     location / { 
       #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 
       #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
       proxy_pass http://localhost:5052;  # 或者容器内部的相应端口
       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;
       #root html;
       #index index.html index.htm;
     }
}

ssl_certificate ssl_certificate_key 是自签证书的路径
proxy_pass 是服务启动的路径

设置软连接

sudo ln -s /etc/nginx/sites-available/example.com/etc/nginx/sites-enabled/

错误提示:

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)2# 运行
sudo chown -R www-data:www-data /var/log/nginx
sudo chmod 755 /var/log/nginx

2024/10/26 16:26:07 [emerg] 36705#36705: open() "/run/nginx.pid" failed (13: Permission denied)
# 运行
sudo chown www-data:www-data /run/nginx.pid
posted @   星宇Q  阅读(247)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示