兔源码网 - 专注DZ模版分享、DZ插件分享!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)皆为提供免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需充值兔币购买会员组方可下载),用户仅需手动前往【申请下载权限】申请用户组下载权限即可,如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

Nginx下配置网站SSL实现https访问(虚拟主机)

[复制链接]
tuyuanma 发表于 2017-7-25 11:37:16 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


在今年的早些时候百度搜索已经全面实现https模式,并宣称已经可以抓取https网页了,相比谷歌早年就已经支持https的抓取,百度虽然晚了一点,但是毕竟现在还是有了,站长之家上也有人探讨关于https模式对百度谷歌seo的影响,虽然还没有人给出实际测试的数据,但是百度全站https模式的话或多或少也能说明百度当下对https站点的态度吧!
1.jpg
nginx配置SSL简洁版教程:6 H2 |5 l2 e7 r2 d" d
一、在配置文件中开启ssl# K: i2 F$ s9 Q+ `
打开www.xxx.com.conf文件,在listen 80 代码段下面加入以下代码:
5 T. G8 B% D1 e# D3 Blisten 443;(注释:监听443端口). z* F! S- J+ ]/ i- W* K; N
ssl on; (注释:开启ssl)% j# @' w8 A' _
ssl_certificate_key /www/wdlinux/nginx/conf/aitiancheng.key; (注释:SSL证书路径)
4 J2 N: {- n1 ?6 J% T0 q* L) X# {# {ssl_certificate /www/wdlinux/nginx/conf/aitiancheng.crt;(注释:SSL证书路径)
5 y! L: Y; E, l( M二、在防火墙中开启443端口访问
  I. u* t% ~/ ]8 }$ x
提示:配置时请删除以上注释内容。
然后切入主题讲一讲Nginx下配置网站ssl实现https模式访问的方法
第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的vps+免费的Linux服务器管理系统WDCP快速搭建的lnmp环境(同类产品还有amh有免费版以及收费版),具体安装以及使用方法都可以在其官方论坛找到详细的操作文档。
第二步:创建你的网站,使用lnmp环境创建你的网站,已有网站的,确保你的程序在lnmp下能够正常的运行,以wordpress为例,lamp跟lnmp下的伪静态规则是不同的,有过更换的,要记得切换。
第三步:申请免费的ssl证书。
第四步:配置网站ssl,找到你需要配置ssl的网站的Nginx配置文件,以WDCP为例配置文件在/www/wdlinux/nginx/conf/vhost/目录,将以下代码添加只网站的配置文件server中,同时为了方便管理,需要将你申请的nginx下的ssl证书上传到/www/wdlinux/nginx/conf/目录,不同的管理系统或者是手动配置的lnmp环境这个目录都是不一样的,请根据你的实际情况进行调整。
  1. ssl on;- B/ Y, l& b3 j4 x. J0 k
  2. ssl_certificate_key /www/wdlinux/nginx/conf/aitiancheng.key;
    1 ]% W8 q" E3 n6 L1 {2 t' P0 E
  3. ssl_certificate /www/wdlinux/nginx/conf/aitiancheng.crt;
复制代码
因为ssl访问的不是传统网站的80端口,而是443端口则需要在配置文件中继续为网站添加443端口,为了方便不知道把以上放在配置文件的什么位置的人,以下将我网站完整的配置文件贴出,可以根据你的实际情况进行修改。
  1. server {: |. x0 C5 K3 i$ L3 }8 \. g% Y6 G
  2. listen 80;; W, G/ p" U& S+ M
  3. listen 443;" f9 k; k5 U; n: O' `1 @& G
  4. server_name wwwtuyuanma.com;
    - M9 b% J3 r, T0 i  I9 [  z( \
  5. root /www/web/blog/public_html;
    ' ^9 P  x; q$ H7 y; B9 a
  6. index  index.html index.php index.htm;6 H- I3 ~6 [' ^4 B9 e
  7. error_page  400 /errpage/400.html;
    ! g6 y3 R1 R5 s% N3 D, T1 ~
  8. error_page  403 /errpage/403.html;6 z( \; o  y- g  H" f& O% y
  9. error_page  404 /errpage/404.html;7 Z1 r) x, E. C8 ]% L1 w3 r
  10. ssl on;/ C. N1 ~- H0 o; G$ x5 v
  11. ssl_certificate_key  /www/wdlinux/nginx/conf/aitiancheng.key;6 A& x9 X, A) V4 o
  12. ssl_certificate  /www/wdlinux/nginx/conf/aitiancheng.crt;
    % O4 _8 Q2 X9 U+ I9 [
  13. location ~ \.php$ {
    ! O, f5 l: `  l2 e/ J+ l
  14. fastcgi_pass   127.0.0.1:9000;1 h" S: c0 f( R5 L6 K, ~1 S! P
  15. fastcgi_index  index.php;
      v; [4 T' q! i
  16. include fcgi.conf;
    / N$ F4 K6 H, c0 `1 b$ q. ]
  17. }2 `; \+ k6 q9 c) S7 }5 |# ~( {
  18. include rewrite/blog.conf;/ _2 T$ ^+ h, Y  V4 |1 E+ v" A
  19. }
复制代码
确认以上都修改无误之后,重启nginx基本上这个时候你的网站就能通过ssl访问了,但是还有一些细节问题需要调整,譬如以上网站配置文件是http与https模式并存的,还需要做一个跳转,件http模式的访问全部跳转到https模式。
第五步:网站强制访问https模式,以wordpress为例,将以下的跳转代码添加到当前网站所有使用的伪静态规则conf文件中,即可实现所有的http访问都跳转到https访问,并且是继承目录的,具体实现方法就是把http模式访问301重定向到https模式。
  1. if ($server_port = 80) {
    " }! Y; L$ U/ D5 e
  2. return 301 https://$server_name$request_uri;
    . I" U% Z4 x0 k+ `  L
  3. }
    $ _+ L9 T3 \0 v
  4. if ($scheme = http) {
    ( `3 s% G) @4 C% H
  5. return 301 https://$server_name$request_uri;
    $ F- [+ A  l) D
  6. }7 @# E2 e9 v7 o) ^% ]8 B
  7. error_page 497 https://$server_name$request_uri;
复制代码
到这个时候,你访问你网站的某些页面的时候,以使用chrome浏览器为例,部分页面https不会显示绿色,显示的是打X或者是黄色,是因为你网站内部譬如css文件,外链图片等使用的依然是http模式,然后就是最后一步,全站https化。
最后,你需要在wdcp后台将443端口开放。
以上基本完成SSL证书的部署。
; D; F6 }! Q# d- m

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告

兔源码网 ( 赣ICP备17001544号 公网安备36112102000036号 )

兔源码 QQ交流群:493651246  GMT+8, 2019-9-17 16:24
←站长统计工具 查看密码:tuyuanma

兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386 网站地图

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

     
快速回复 返回顶部 返回列表