nginx设置https访问

一:安装依赖

Ubuntu:

apt-get install openssl-devel

apt-get install libssl-dev

centos:

apt-get install openssl-devel

apt-get install openssl

二:编译nginx

查看 nginx 是否安装 http_ssl_module 模块

                           $ /nginx/nginx/sbin/nginx -V

如果出现 configure arguments: --with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 nginx.conf 配置)

下载nginx安装包

        # 下载安装包到 opt 目录
        $ cd /opt
        $ wget http://nginx.org/download/nginx-1.14.1.tar.gz

解压安装包

        $ tar -zxvf nginx-1.14.1.tar.gz

配置ssl模块

        $ cd nginx-1.14.1
        $ ./configure --prefix=/opt/nginx --with-http_ssl_module

使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。用新的 nginx 文件覆盖当前的 nginx 文件。

        $ cp ./objs/nginx /opt/nginx/sbin/

再次查看安装的模块(configure arguments: --with-http_ssl_module说明ssl模块已安装)

        $ /usr/local/nginx/sbin/nginx -V
        nginx version: nginx/1.14.1
        ...
        configure arguments: --with-http_ssl_module

三:生成证书

进入你想创建证书和私钥的目录

cd /usr/local/nginx

创建服务器私钥,命令会让你输入一个口令(记住这个密码,以后每次重启nginx需要输入密码,建议接下来的密码都输入一样的,方便记忆)

openssl genrsa -des3 -out server.key 1024

创建签名请求的证书(CSR)

openssl req -new -key server.key -out server.csr

需要设置相关的信息

最后标记证书使用上述私钥和CSR

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

四:配置nginx

打开nginx.conf配置

添加ssl配置

server {

listen 443 ssl;

server_name work.com;

index index.html;

ssl on;

ssl_certificate /usr/local/nginx /server.crt;

ssl_certificate_key /usr/local/nginx /server.key;

ssl_session_timeout 5m;

location / {

root /usr/local/web/;

add_header 'Cache-Control' 'no-store';

}

}

五:测试

https://127.0.0.1:443

猜你喜欢

转载自blog.csdn.net/wjg1314521/article/details/97263210
今日推荐