首页>建站相关>为nginx服务器开启https服务

为nginx服务器开启https服务

随着支持https标准的站点越来越多,浏览器上对于非https站点的标记也似乎越来越醒目了。所以用LNMP重新搭建服务器系统之后,首先想到的就是启用https。为站点开启https,首先需要一套安全证书,博主的域名购买自阿里云,域名证书也是从阿里云免费申请的,证书有限时限一年,过期前阿里云会以免费短信提醒续期。关于证书的申请这里就不再赘述了,详情可参考本站另一篇博文:《阿里云免费ssl证书》。

nginx_enable_https_p1

因为服务器软件换成了Nginx,证书也要相应更改为适用于Nginx的证书,与Apache不同的是,Nginx版本的证书仅包含两个文件;

nginx_enable_https_p2

证书的前缀数字是随机生成的,应用于实际站点时可以删除,比如笔者就把两个文件名称分别该为了“biib.top.key”以及“biib.top.pem”;

nginx_enable_https_p3

证书放置的路径没有严格的要求,确保配置文件中的证书路径与实际证书一致即可,这里笔者在“/etc/pki”路径下新建立了一个名为“nginx”的文件夹,把两个证书一起塞了进去;

nginx_enable_https_p4

接下来开始配置nginx,阿里云的nginx默认安装路径如上图所式,主配置文件为“nginx.conf”;

nginx_enable_https_p5

为避免频繁修改主配置文件,可以采用导入外部文件的方式来设置我们的服务器,将外部配置文件置于“conf.d”文件夹中(具体路径见图中红框位置),nginx启动时会自动加载;

nginx_enable_https_p6

为避免外部文件与主文件的设置重叠导致出现不满足预期的结果,我们可以把导入语句下方的语句块整体注释掉,该文件中添加注释只需要在语句行首加一个“#”号,这样后续如需复原成默认配置也比较方便;
nginx_enable_https_p7

进入“/etc/nginx/conf.d”文件夹,用文本编辑器“vim”创建一个后缀为“.conf”的新文件,因为笔者的域名为“biib.top”,所以这里将文件命名为了“biib.conf”,将以下配置内容整体复制进新建的空白文件中,注意须将注释行下方语句需要根据自己站点的实际地址作修改;

server {
    listen       80;
    #修改为自己的域名
    server_name  www.biib.top;

    location / {
        #修改为自己的站点实际所在文件夹
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }
    location ~ .php$ {
        #修改为自己的站点实际所在文件夹
        root           /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}
server {
    listen       443 ssl;
    #修改为自己的域名
    server_name  www.biib.top;
    ssl_certificate      /etc/pki/nginx/biib.top.pem;
    ssl_certificate_key  /etc/pki/nginx/biib.top.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;

    location / {
        #修改为自己的站点实际所在文件夹
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }
    location ~ .php$ {
        #修改为自己的站点实际所在文件夹
        root           /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

重新启动一下nginx:

nginx -s reload

尝试分别通过“http”与“https”的方式访问自己的服务器,访问成功会显示如下nginx的默认页面。
nginx_enable_https_p8

标签: nginx

移动端可扫我直达哦~

推荐阅读

nginx 2023-11-08

nginx下的301跳转与302跳转

301跳转or302跳转301跳转301代表这个定向是永久的,搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址。而302则向搜索引擎声明这是暂时的重定向,搜索引擎会以为新的网址只是暂时的,会抓取新的内容而保存旧的网址。30...

建站相关 nginx

nginx 2023-11-07

nginx网站301跳转与强制通过https访问

关于301重定向301跳转是一种永久性重定向,向搜索引擎和用户说明原URL地址已经永久性更改为新的URL地址,使得搜索引擎在收录网站时可以将原URL地址的权重转移到新的URL地址上,同时也能方便用户访问到正确的内容。小鸟数据沉浮史小鸟...

建站相关 nginx

nginx 2022-10-09

nginx让来访者跳转至https页面

配置服务器实现了Nginx的https访问,配置文件同时支持了80端口以及443端口的访问,详见博文《为nginx服务器开启https》,如果只希望用户通过https访问站点,我们还需要改动一下配置文件,在80端口的设置部分写入一条跳...

建站相关 nginx

nginx 2022-09-30

nginx环境下的虚拟主机配置

Nginx是一个高性能的HTTP和反向代理web服务器,下图是一个安装于阿里云服务器上Nginx文件目录,其中两个蓝色的是文件夹,可用于存放外部的配置文件,Nginx的核心配置文件是“nginx.conf”,图中其正下方有另一个相似的...

建站相关 nginx

nginx 2022-09-29

nginx禁止来访者通过IP访问

Nginx的主配置文件是 nginx.conf ,在阿里云服务器中,它一般位于 /etc/nginx 目录之下,为了避免频繁改动主配置文件,笔者屏蔽掉了主配置文件中的监听80端口的部分(nginx对443端口的监听默认状态为被注释),...

建站相关 nginx

nginx 2022-09-28

为nginx开启gzip压缩

gzip最早由Jean-loup Gailly和Mark Adler创建,用于unix系统的文件压缩。我们在linux中经常会用到后缀为.gz的文件,它们就是gzip格式的。gzip格式已经成为Internet上使用非常普遍的一种数据...

建站相关 nginx