nginx开启https(免费的二级域名也可以)

  来源:https://www.cnblogs.com/DouglasLuo/p/12258331.html

  最近疫情很严重,开学也被延迟了。于是在家很闲啊。碰巧,前几天我租了个域名,就想用研究一下如何搭建https。

  这篇文章将用到一下内容:

  一个域名,DNS已经解析到vps的ip地址(免费的二级域名也可以)。

  一台vps(没有vps用网站空间也可以,但不在这篇文章的讨论范畴)。

  nginx(httpd不在这篇文章的讨论范畴)。

  首先在vps上安装nginx,并开启端口实现可以在外网访问通过80端口访问网站。

yum install epel-release -y                              #安装epel源,默认的系统源没有nginx,安装完nginx之后可以把epel源移除
yum install nginx -y                                     #安装nginx服务
firewall-cmd --add-port=80/tcp --zone=public --permanent #设置防火墙开放80端口
systemctl start nginx                                    #启动ngxin服务

  这时候直接在浏览器中访问vps的ip地址可以直接看到nginx的默认页面

  然后我们需要使用certbot-auto工具申请let‘s encrypt提供的免费ssl证书。

let‘s encrypt(官网)

wget https://dl.eff.org/certbot-auto      #下载certbot-auto工具
mv certbot-auto /usr/local/bin/certbot-auto  #把certbot-auto复制到一个PATH变量包含的目录
chown root /usr/local/bin/certbot-auto     #设置文件所属者为root
chmod +x /usr/local/bin/certbot-auto      #为certbot-auto工具添加可执行权限

  这时候执行certbot-auto命令就可以本地申请let‘s encrypt证书

certbot-auto certonly --nginx          #仅申请证书,不自动安装证书到nginx

  这行命令执行的时候需要用户输入用户邮箱和域名。注意,这里输入的必须是已经解析到当前vps的域名,可以是二级域名。并且执行这行命令的时候必须保证nginx的服务是开启的,并可以通过80端口访问nginx。具体情况请根据certbot-auto的交互来进行输入。

命令如果执行的顺利,将在

/etc/letsencrypt/live/你的域名/

  目录下面生成证书文件。这里主要用到以下两个文件

    fullchain.pem  证书文件

    privkey.pem    证书文件的私钥

  现在可以编辑nginx的配置文件实现https

vim /etc/nginx/nginx.conf

  在配置文件中添加一个server块,块的内容如下:

server {
    listen 443 ssl;            #监听ipv4的443端口,ssl协议
    listen [::]:443 ssl;         #监听ipv6的443端口,ssl协议
    root /usr/share/nginx/html;     #该server的工作目录(这是nginx的默认目录)
    server_name 你的域名;         #你的域名
    ssl on;                 #开启ssl
    ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;   #设置ssl证书,指定ssl证书文件的目录
    ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem; #ssl证书的私钥

    location / {
    }
}

  保存并重启nginx服务

nginx -t          #测试配置文件是否正确
service nginx restart #重启nginx服务
firewall-cmd --add-port=443/tcp --zone=public --permanent #设置防火墙开放443端口

  这时候直接访问https://你的域名

  就可以看到https已经开启了

原文地址:https://www.cnblogs.com/DouglasLuo/p/12258331.html

时间: 2024-11-09 05:57:59

nginx开启https(免费的二级域名也可以)的相关文章

Nginx实现ssl一级、二级域名证书部署并用https访问代理转发服务器

1.  规划 域名 解析IP Nginx代理 htpps://www.devcult.com 47.88.10.155   htpps://auto.devcult.com 47.88.10.155 https://www.automa.com htpps://www.automa.com 103.200.200.203   本次实验用了2个一级域名,1个二级域名,2个ip地址:实现功能如上图所示,要求全部使用https,并且一级域名实现自动补全www. 2. 前提准备 47.88.10.155

Nginx根据目录自动生成二级域名

前言:     每次创建二级域名如果都修改一次配置文件的话,项目多了会带来很多不必要的工作量,如果能够在一个web目录下创建一个文件夹并且自动生成文件目录的话,那真是极好的,本文就基于Nginx贴出这个配置文件. 实验环境(基于阿里云):     阿里云CentOS-6.5     domain.com 域名管理权限 正文:     首先需要在域名管理处做一个泛解析 把*.domain.com 指向你自己的服务器的ip,然后在Nginx配置文件里面增加配置,这个配置还可以制作三级域名,例如*.d

Nginx反向代理匹配部分二级域名或二级目录配置

server { charset utf-8; client_max_body_size 128M; # Add index.php to the list if you are using PHP index index.html index.htm index.php; server_name *.tl.com; set $old_port 8002; set $new_port 8001; if ($host = tl.com) { rewrite ^ www.tl.com permane

为二级域名注册ssl证书,并强制使用https对http进行跳转

服务器上仍然使用nginx进行代理 1.为二级域名申请ssl证书,如blog.yourdomain.com,见前文. 2.在域名解析服务中,为二级域名添加解析记录 3.nginx默认读取/etc/nginx/conf.d/*.conf 在conf.d下建立二级域名对应的配置文件如vi blog.conf upstream ech{ server ip:port; #此处最好指定内网ip } server{ listen 80; server_name ech.domain.cn; #此处指定子域

万网二级域名访问nginx子目录

最近重新安装了小站(1wei.cc)的wordpress,打算使用二级域名blog.1wei.cc访问位于根目录下的wordpress(/wordpress,对应1wei.cc/wordpress).于是开始各种搜索了,各种问答.文章.博客反复研究实验,好不折腾,谁叫咱们半路出家,好多不懂.不得不说:天下文章一大抄,大多数人不会抄,抄了也不知道注明转载,好歹写错了可以说,这不是老子写的.找到好多人写(抄)的一模一样文章解决不了问题,不过我等开始看的时候还是不明所以得称赞高级.弄完了发现也挺简单的

如何免费注册使用虚拟主机和二级域名建站

相信还是有不少程序员不知道怎么把自己创建的网站发布到网络上去,其实这个并不复杂,只要你有域名和服务器,一切都那么简单. 域名和服务器到哪里去弄?当然是去域名和服务器提供商那里去申请了.大部分的域名和服务器都是收费的,当然也有免费的虚拟主机和二级域名.如果仅仅是个人学习研究或者建立自己的博客论坛,免费的二级域名和虚拟主机就OK了,没必要去购买域名和服务器的. 对于免费域名,一般只有二级域名,而且是国外的,国内很少.免费虚拟主机国内也有,本人用过的最好的一个是1个月的使用期限,到期之前要发帖给他们打

使用Certbot开启https并保护所有二级域名-Nginx

序言 当不再满足使用域名+端口号访问一台服务器上不同项目时,我决定研究下如何实现二级域名方式访问.网上当然教程很多,但是我还是踩了不少坑,在此记录一下. 准备工作 按照官网的做法,安装EPEL等,有很多东西都是自带的,所以有可以跳过 yum -y install yum-utils yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional yum install cert

Nginx 泛解析配置请求映射到多端口实现二级域名访问

由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试后,进行了总结. 文章开始之前先来理解一下二级域名的概念. 二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称:在国家顶级域名下,它是表示注册企业类别的符号.我国在国际互联网络信息中心(Inter NIC) 正式注册并运行的顶级域名是CN,这也是我国的一级域名.在顶级域名之

https(ssl)免费证书申请及nginx配置https(ssl)

首先推荐免费证书的申请url:https://freessl.org/ 然后就是上面证书申请的流程,这里可以参考一篇阿里云里面的博文(我会补充一些细节): https://yq.aliyun.com/articles/225669?spm=5176.10695662.1996646101.searchclickresult.1da01cb9Hyk86J freessl免费证书申请补充: 一.补充一下配置DNS验证的流程,我这里用的是阿里云: 然后点击添加记录 确定 完成,全选,启用一下就可以了: