修改与证书相关的配置内容按i键进入编辑模式,增加代码,监听443端口,如下
执行命令/sbin/nginx -s reload 重启服务器即可!(如果重启未成功,说明配置文件nginx.conf错误,检查是否有错误,后执行重启)
步骤五验证是否安装成功,证书安装完成后,可通过访问证书的绑定域名验证该证书是否安装成功。例如:https://www.域名.com
二级域名配置HTTPSGithub地址:完整的单域名+ 二级域名nginx.conf文件配置(完美注释) -- 点击进入
上述步骤成功之后,我们就可以通过https://www.域名.com 来访问我们网站了,但是问题来了,因为我们申请的免费SSL证书是单域名绑定,也就是只能让https://www.域名.com 下的内容实现HTTPS访问,我们的二级域名api.域名.com还是只能HTTP访问。
假设我们现在希望api.域名.com以HTTPS访问应该怎么办呢?
添加二级域名解析首先我们需要添加二级域名的解析,首先保证httpL//api.域名.com可以正常访问,IP地址处就填写我们的公网IP地址。
申请SSL证书的步骤与上面一致,这里就不在赘述了。最多可以申请20张免费证书,只是申请域名SSL证书的时候,记得填写我们的api.域名.com,申请成功后我们下载到本地。
把下载的证书文件放入服务器这里步骤与上述一致,这里简单说下:
这时候我们打开我们的SSH工具,进入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