通过使用 Nginx配置 Https的方式,基本思路就是通过 转发 或者 重写url的思路,但是大多数情况下都会选择转发的形式,这样更高效一点。

配置的步骤有两大步: 1. 获取SSL证书 2. 通过配置nginx实现https

1.获取SSL加密证书

SSL证书可以通过 自签的形式 也可以从厂商中获取。本次我采用的是从阿里云获取免费的个人测试证书,一个账号可以获取20个SSL证书。这个测试证书的有效期为3个月如果证书过期可以重新获取,并重新部署到Nginx上。

1.登陆阿里云,然后搜索SSL证书,点击控制台里边那个 数字证书管理服务

2.创建个人测试证书,需要输入该证书对应要加密网站的域名。

这个这个过程需要稍微等一会,知道证书创建好就可以了

3.下载适用于Nginx的证书文件

4.在Nginx服务的主目录下创建一个 card 目录

5.将下载的证书压缩包上传到card目录下,并解压

[root@llh nginx]$ unzip 18509356_www.lzyjs.tech_nginx.zip -d card/

2.使用Nginx配置Https

我这里只是需要 加密一下我的 http:://127.0.0.1:8090 这个地址。

主要的思路就是通过 http 的方式接受到用户的请求,然后将请求转发给nginx中的https的server,这样就可以完成Https的配置。

2.1 编写Nginx配置文件

在conf.d目录下,创建一个 blog.conf 配置文件

# 接受http请求的server
server {
  # 监听本机的80地址
    listen 80;
  # 监听请求路径为 www.lzyjs.tech
    server_name www.lzyjs.tech;
    # rewrite ^/(.*)$ https://www.lzyjs.tech:443/$1 permanent;  # 通过重写url的方式来将请求发送给https对应服务器,效率比转发低,不采用
    return 301 https://$host$request_uri;      # 通过 return 转发的方法,将所有请求转发给 https 对应服务器,并指定转发码为301
}


# 接受https请求的server
server {
        listen 443 ssl;                      # 监听443端口,并设置加密方式为ssl加密方式。
        server_name www.lzyjs.tech;          # 监听地址为 www.lzyjs.tech
        ssl_certificate /software/nginx/card/www.lzyjs.tech.pem;    # 指定SSL证书。
        ssl_certificate_key /software/nginx/card/www.lzyjs.tech.key;
        location / {                        # 匹配所有uri路径            
                proxy_pass http://127.0.0.1:8090;    # 将请求转发给本地的 http://127.0.0.1:8090 端口,这个端口对应的是一个应用程序,可以处理对应的请求。
        }
}

2.2 检查Nginx语法并重启

  • 检查配置文件语法

[root@llh nginx]$ ls
18509356_www.lzyjs.tech_nginx.zip  card  client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
[root@llh nginx]$ cd sbin
[root@llh sbin]$ ls
nginx
[root@llh sbin]$ ./nginx -t
nginx: the configuration file /software/nginx//conf/nginx.conf syntax is ok
nginx: configuration file /software/nginx//conf/nginx.conf test is successful    # nginx的配置文件语法没有问题,那么就重启nginx
  • 重启nginx

[root@llh sbin]$ ./nginx -s reload
[root@llh sbin]$

文章作者: Administrator
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 寻梦
nginx linux
喜欢就支持一下吧