超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南 (3)

修改与证书相关的配置内容按i键进入编辑模式,增加代码,监听443端口,如下

超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

``` server { listen 443 ssl; listen [::]:443; server_name localhost; ssl on; root /usr/share/nginx/html; index index.html index.htm; #证书文件名称 ssl_certificate cert/a.crt; #私钥文件名称 ssl_certificate_key cert/a.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } ``` 修改完成后,按Esc键、输入`:wq!`并按Enter键,保存修改后的配置文件并退出编辑模式。 步骤四

执行命令/sbin/nginx -s reload 重启服务器即可!(如果重启未成功,说明配置文件nginx.conf错误,检查是否有错误,后执行重启)

步骤五

验证是否安装成功,证书安装完成后,可通过访问证书的绑定域名验证该证书是否安装成功。例如:https://www.域名.com

二级域名配置HTTPS

Github地址:完整的单域名+ 二级域名nginx.conf文件配置(完美注释) -- 点击进入

上述步骤成功之后,我们就可以通过https://www.域名.com 来访问我们网站了,但是问题来了,因为我们申请的免费SSL证书是单域名绑定,也就是只能让https://www.域名.com 下的内容实现HTTPS访问,我们的二级域名api.域名.com还是只能HTTP访问。

假设我们现在希望api.域名.com以HTTPS访问应该怎么办呢?

添加二级域名解析

首先我们需要添加二级域名的解析,首先保证httpL//api.域名.com可以正常访问,IP地址处就填写我们的公网IP地址。

超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

二级域名申请SSL证书

申请SSL证书的步骤与上面一致,这里就不在赘述了。最多可以申请20张免费证书,只是申请域名SSL证书的时候,记得填写我们的api.域名.com,申请成功后我们下载到本地。

超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

把下载的证书文件放入服务器

这里步骤与上述一致,这里简单说下:
这时候我们打开我们的SSH工具,进入Nginx的配置:

// 进入nginx目录 cd /etc/nginx

在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到/etc/nginx/cert目录中(使用SSH工具附带的本地文件上传功能,将本地证书文件和密钥文件上传到Nginx服务器的证书目录[示例中为/etc/nginx/cert])。

为了避免与其他证书文件呼啸,我们可以将对应的私钥文件放到cert目录下并且命名为api.key、api.crt;

编辑nginx.conf文件 // 进入nginx目录,默认安装在/etc/nginx,这个目录如果未找到,可以根据nginx安装的位置进入 cd /etc/nginx // 编辑nginx的配置文件 vi nginx.conf // 我们也可以把**nginx.conf文件**保存至本地然后打开编辑修改, # 我们也可以把nginx.conf文件保存至本地然后修改 开启监听8100端口用于二级域名使用

nginx.conf文件中添加监听8100端口(别忘记检查服务器是否开启了8100端口):

server { listen 8100 default_server; listen [::]:8100 default_server; server_name _; # 这里root表示指向的目录,可以根据自身配置路径 root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } 二级域名指向8100端口并配置SSL证书

nginx.conf文件中再次添加监听443接口:

server { listen 443 ssl; # 注:域名处修改成自己的域名地址 server_name api.域名.com; ssl on; #证书文件名称 ssl_certificate cert/api.crt; #私钥文件名称 ssl_certificate_key cert/api.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { # 注:域名处修改成自己的域名地址 proxy_pass 域名.com:8100; proxy_set_header Host $host; # 获取请求的ip地址 proxy_set_header X-real-ip $remote_addr; # 获取请求的多级ip地址,当请求经过多个反向代理时,会获取多个ip,英文逗号隔开 } root /usr/share/nginx/html; index index.html index.htm; error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } http自动重定向至https

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfspd.html