CentOS 7配置Nginx实现https访问

1 首先申请SSL证书

我这里使用的是阿里云的免费SSL证书,选择Symantec免费的那个即可。

CentOS 7配置Nginx实现https访问_第1张图片

然后需要绑定域名给SSL证书,否则证书不能审核。去阿里云注册一个域名,接着进入到域名控制台,再进入域名DNS解析。

CentOS 7配置Nginx实现https访问_第2张图片

添加解析记录,需要给SSL证书绑定怎样的域名就怎样添加记录。我这里添加了两条,一条对应www.xxx.com,一条对应xxx.com,我在SSL上绑定的是www.xxx.com。这里一定要先添加记录,再去审核SSL,否则SSL会找不到DNS解析审核失败!

 

接着去SSL控制台,开始补全信息然后提交审核。

CentOS 7配置Nginx实现https访问_第3张图片

把自动添加记录打上勾!

CentOS 7配置Nginx实现https访问_第4张图片

免费版的SSL是自动审核的,所以几分钟就可以通过了。之后便可以点进去下载Nginx的证书,一共是两个文件,*.key和*.pem。

 

2 CentOS 7配置Nginx

先安装依赖

[root@izuf6a4o38c6o9qcshkw40z local]# yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

 

去下载一个nginx的tar包,我下的是1.12.2那个版本。然后用工具传到服务器。我放在/usr/local/里面。然后解压。

注意这里解压后的文件夹可以改名,但一定不要该名成nginx,因为后面编译安装会自己生成一个nginx文件夹。

[root@izuf6a4o38c6o9qcshkw40z local]# tar -xvf nginx-1.12.2.tar.gz

 

cd进入到nginx文件夹下的,配置SSL模块,编译,安装。

[root@izuf6a4o38c6o9qcshkw40z local]# cd nginx-1.12.2
[root@izuf6a4o38c6o9qcshkw40z nginx-1.12.2]# ./configure --with-http_ssl_module
[root@izuf6a4o38c6o9qcshkw40z nginx-1.12.2]# make
[root@izuf6a4o38c6o9qcshkw40z nginx-1.12.2]# make install

 

这个时候/usr/local/下面会生成一个nginx文件夹(以你自己的路径为主)。进入到它里面的sbin,使用./nginx便可以启动nginx。

[root@izuf6a4o38c6o9qcshkw40z sbin]# ./nginx

 

3 配置nginx反向代理https

进入nginx文件夹下的conf文件夹,将之前申请的SSL证书的两个文件放入nginx/conf文件夹里面。修改nginx.conf文件,添加下面的配置。(nginx.conf文件预留了443端口的监听配置,也可以把它的注释去掉,直接修改。)

server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      xxx.pem;
        ssl_certificate_key  xxx.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://localhost:8080/;
        }
}

xxx.pem和xxx.key填写你自己的文件名。proxy_pass http://localhost:8080表示访问代理到tomcat或者其他容器的8080端口。nginx的location用法可以自行百度或Google。

 

然后使用./nginx -s reload重启nginx即可。

[root@izuf6a4o38c6o9qcshkw40z sbin]# ./nginx -s reload

如果报/usr/local/nginx/logs/nginx.pid 路径下找不到nginx.pid的错误,执行以下一句话即可。

[root@izuf6a4o38c6o9qcshkw40z sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

试试效果

CentOS 7配置Nginx实现https访问_第5张图片

 

本文参考资料:

https://my.oschina.net/u/3512877/blog/1593055

https://blog.csdn.net/solly793755670/article/details/70742011

 

如果有什么问题可以回复我!

你可能感兴趣的:(CentOS 7配置Nginx实现https访问)