侧边栏壁纸
  • 累计撰写 3 篇文章
  • 累计创建 3 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

Nginx配置SSL及反代最简示例

UDMT
2023-01-31 / 0 评论 / 0 点赞 / 518 阅读 / 749 字

文接上篇acme.sh使用Let’s Encrypt+Cloudflare API的方式申请SSL证书,这里继续讲一个简单的Nginx配置SSL和反代的流程,后续更多的要求均可以在此基础上进行扩展。

前置条件

  1. 域名已经解析至VPS IP(建议不开CDN,即Cloudflare小云朵为关闭/灰色)
  2. 已经通过acme.sh申请好域名的SSL证书
  3. 需要反代的服务已正常启动运行,假定端口为8080,并且通过http://ip:8080可以正常打开页面

安装Nginx

可参考Debian 11安装最新版本的Nginx
使用官方源版本或最新稳定版本均可,安装完成后先对nginx.conf进行修改:

nano /etc/nginx/nginx.conf

查看是否有下面一行

include /etc/nginx/sites-enabled/*; 

有则使用使用#号注释掉,然后保持退出并重载配置:

nginx -s reload

配置反代

满足前置条件3,http://ip:8080可以正常打开页面的情况下,直接上配置:

server {
    listen 80;
	server_name aa.com;    #替换为你的域名
    if ($scheme = http ) {
		return 301 https://$server_name$request_uri;    #设置http跳转到https
	}
}
server {
    listen 443 ssl http2;
    server_name aa.com;    #替换为你的域名
    ssl_certificate /root/cert/aa.com.cer;    #替换为你的路径和域名
    ssl_certificate_key /root/cert/aa.com.key;#替换为你的路径和域名
    
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_protocols  TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;
	
    location / {  
        proxy_redirect off;
        proxy_pass http://127.0.0.1:8080;    #如果使用其他端口自行修改
        proxy_http_version 1.1;
        proxy_set_header Host $host;
    }
}

可以本地新建文件后缀必须为.conf,将以上内容粘贴进去并保存,上传至VPS的/etc/nginx/conf.d目录
或者直接VPS上新建文件

nano /etc/nginx/conf.d/xxx.conf

使用shift + insert插入配置,然后保存退出。
最后重载Nginx配置

nginx -s reload

最后用过域名访问服务,查看是否正常访问。
至此,一个最简单的acme.sh申请证书+Nginx反代网站的实例也就完成了,希望小伙伴们也能够成功!
而且由于证书是泛域名证书,如果要用其他二级域名反代新的服务也不用重新申请证书,只要在cf上将dns配置好,并新建配置文件将域名替换后,上传至/etc/nginx/conf.d目录重载配置即可。

个人小贴士:
不建议一股脑将配置均写在nginx.conf一个文件中。
每个域名写入单的配置文件中,文件名可以是 域名_端口_服务.conf,可以根据个人习惯增减维度,配置情况一目了然。
配置文件均放入/etc/nginx/conf.d文件夹中进行管理,如需迁移将此文件夹备份转移即可。

0

评论区