Nginx启用https访问

摘 要

nginx启用ssl加密访问。

由于本站全面开启https协议访问,小编决定将实践过程记录下来,方便后来人。

什么是https?

https 全称:Hyper Text Transfer Protocol over Secure Socket Layer,是http的安全版。即http下加入SSL协议层,因此https的安全基础就是SSL,所以加密内容需要SSL。

配置过程

首先需要申请一个证书,可以申请一个免费得。然后会得到nginx版本证书,一个公钥,一个私钥。将其上传到服务器目录。本次将讲解两种配置方式。

先确认nginx安装时已编译http_ssl模块,也就是执行nginx -V命令查看是否存在--with-http_ssl_module。如果没有,则需要重新编译nginx将该模块加入。

http与https共存方式

意思是指网站可以通过http请求访问,也可以通过https请求访问。注:http端口为80https端口为443。

server {
        listen       80;
        listen 443 ssl;
         ssl_certificate ssl/itunic.crt; #证书公钥文件路径
         ssl_certificate_key  ssl/itunic.key;   #证书私钥文件路径
         ssl_session_timeout  5m;  #5分钟session会话保持
         ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers  HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
        root /www/web/itunic_com/public_html;
        server_name itunic.com www.itunic.com;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include fcgi.conf;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
                expires      1d;
        }
        location ~ .*\.(js|css|html|htm)?$ {
                expires      12h;
        }
        location ~ /\.ht {
                deny  all;
        }
        access_log  logs/itunic.com_access.log  wwwlogs;
        error_log  logs/itunic.com_error.log;
}
将http强制转https
server{
      listen 80;
      server_name itunic.com www.itunic.com;
      location / {
          rewrite (.*) https://itunic.com$1 permanent;
      }
   }
server {
        listen 443 ssl;
         ssl_certificate ssl/itunic.crt; #证书公钥文件路径
         ssl_certificate_key  ssl/itunic.key;   #证书私钥文件路径
         ssl_session_timeout  5m;  #5分钟session会话保持
         ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers  HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
        root /www/web/itunic_com/public_html;
        server_name itunic.com www.itunic.com;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include fcgi.conf;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
                expires      1d;
        }
        location ~ .*\.(js|css|html|htm)?$ {
                expires      12h;
        }
        location ~ /\.ht {
                deny  all;
        }
        access_log  logs/itunic.com_access.log  wwwlogs;
        error_log  logs/itunic.com_error.log;
}

本站采用第二种也推荐第二种,即强制转https。原因有二:第一,全站加密,更安全。第二,有利于SEO,在搜索引擎方面,https权重高于http。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏bboysoul

让网站用上https

个人认为让一个没什么流量的网站支持https是没什么意义的,第一,支持https后访问速度会变慢 而且浪费服务器资源,但是没办法,一切为了装逼,为了装逼的一切...

1403
来自专栏惨绿少年

全站HTTPS简单实践

第一个里程碑:创建https证书 1 [root@web01 backup]# openssl req -new -x509 -nodes -out ser...

2000
来自专栏Python爬虫与数据挖掘

在Windows上如何安装和彻底卸载Adobe Flash Player教程

很多小伙伴在安装水晶易表的时候,经常会遇到“Xcelsius2008需要使用Adobe Flash Player(9.151或者更高版本)”报错问题,如下图所示...

1211
来自专栏刘望舒

Android响应式编程(一)RxJava前篇[入门基础]

1.RxJava概述 ReactiveX与RxJava 在讲到RxJava之前我们首先要了解什么是ReactiveX,因为RxJava是ReactiveX的一种...

2035
来自专栏Angular&服务

Nginx配置https协议

使用 https 协议访问你的域名, 如 https://www.yourdomain.com/hello.html 检查是否成功,如果地址栏出现绿色带安全字样...

1261
来自专栏运维

Nginx反向代理负载均衡配置梳理大全

利用ngx_http_core_module、ngx_http_rewrite_module模块 主要是301跳转 Return写法:域名http请求跳转到对应...

771
来自专栏码匠的流水账

apk文件的sign以及align命令

对于android应用来说,发布release版本的时候,需要有个正式的签名,这个时候就需要用到jarsigner命令了。

842
来自专栏小樱的经验随笔

【经验分享】Hydra(爆破神器)使用方法

这个也是backtrack下面很受欢迎的一个工具 参数详解: -R 根据上一次进度继续破解 -S 使用SSL协议连接 -s 指定端口 -l 指定用户名 -L 指...

4696
来自专栏三杯水

Nginx反向代理负载均衡配置梳理大全

利用ngx_http_core_module、ngx_http_rewrite_module模块 主要是301跳转 Return写法:域名http请求跳转到...

691
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式配置中心(加密解密)

最近正好想发一篇关于配置中心加密的细节内容,结果发现基础的加密解密居然漏了,所以在这个入门系列中补充一下。后面再更新一下,使用配置中心的一些经验和教训。 ? 在...

3247

扫码关注云+社区