网站添加新关键词,网站综合排名信息查询,安徽宿州住房与城乡建设玩网站,深圳招聘网站找工作在搭建网站或服务时#xff0c;确保域名的安全性和正确的流量转发是非常重要的。本文将介绍如何使用 Let’s Encrypt 获取免费的 SSL 证书#xff0c;并将其配置到 OpenResty 中#xff0c;同时实现特定的域名转发规则。这不仅可以提升网站的安全性#xff0c;还能优化流量… 在搭建网站或服务时确保域名的安全性和正确的流量转发是非常重要的。本文将介绍如何使用 Let’s Encrypt 获取免费的 SSL 证书并将其配置到 OpenResty 中同时实现特定的域名转发规则。这不仅可以提升网站的安全性还能优化流量管理。 概述
Let’s Encrypt官网Let’s Encrypt OpenResty官网OpenResty
Let’s Encrypt 是一个免费的、自动化的、开放的证书颁发机构提供 SSL/TLS 证书用于加密网站流量确保数据传输的安全。OpenResty 是一个基于 Nginx 的高性能 web 平台支持动态模块加载适合用于构建高性能的 web 应用和服务。 本文的目标是实现以下功能
使用 Let’s Encrypt 获取 SSL 证书。将 SSL 证书配置到 OpenResty 中。配置域名转发规则 主域名 main_host.com转发到本地端口 8080。二级域名 test.main_host.com转发到本地端口 8090。 设置 SSL 证书的自动续期。
安装 Let’s Encrypt 客户端Certbot
Let’s Encrypt 提供的 Certbot 是常用的客户端工具用于获取和续期 SSL 证书。以下是安装步骤
sudo apt update
sudo apt install certbot获取 SSL 证书
假设你的域名已经解析到服务器 IP 上运行以下命令获取 SSL 证书
sudo certbot certonly --standalone -d main_host.com -d test.main_host.com--standalone表示 Certbot 会临时启动一个 web 服务来验证域名所有权。-d后面跟上你的域名。
运行完成后证书会存储在 /etc/letsencrypt/live/main_host.com/目录下。
安装 OpenResty
如果尚未安装 OpenResty可以通过以下命令安装
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
echo deb http://openresty.org/package/debian $(lsb_release -sc) openresty | sudo tee -a /etc/apt/sources.listsudo apt update
sudo apt install openresty如果你有安装1panel那你可以直接使用它来安装OpenResty并且部署也会更快!
配置 OpenResty
编辑 OpenResty 的配置文件通常位于 /usr/local/openresty/nginx/conf/nginx.conf或 /etc/nginx/nginx.conf。根据你的需求配置如下
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;# SSL 配置【指定ssl文件位置】ssl_certificate /etc/letsencrypt/live/main_host.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/main_host.com/privkey.pem;# 主域名配置转发到 8080server {listen 80;listen 443 ssl;server_name main_host.com;location / {proxy_pass http://127.0.0.1:8080;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;}}# 二级域名配置转发到 8090server {listen 80;listen 443 ssl;server_name test.main_host.com;location / {proxy_pass http://127.0.0.1:8090;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;}}测试并重启 OpenResty
保存配置文件后运行以下命令测试配置文件是否正确
sudo openresty -t如果测试通过重启 OpenResty 使配置生效
sudo systemctl restart openresty设置 Let’s Encrypt 证书自动续期
Let’s Encrypt 的证书有效期为 90 天建议设置自动续期任务
sudo certbot renew --dry-run如果测试通过可以将其加入定时任务
sudo crontab -e添加以下内容
0 2 * * 1 certbot renew --quiet这表示每周一凌晨 2 点自动续期证书。
通过以上步骤你可以为你的域名获取 Let’s Encrypt 的 SSL 证书并配置 OpenResty 实现主域名和二级域名转发到不同端口。同时设置自动续期可以确保你的 SSL 证书始终有效避免因证书过期而导致的安全问题。
更多内容请访问跃享小筑