发布时间:2014-09-05 17:13:55作者:知识屋
我这里没有使用自行颁发的SSL证书,因为那个不受浏览器的信任,当然也没去购买 :D。使用的是StartSSL的免费证书,有效期是一年。至于证书的申请这里不详细说了,只要到StartSSL.COM那里注册用户申请即可,在验证填写个人信息的时候需要详细一些, 第一次由于没有填写完整,几分钟之后就收到 了StartSSL的邮件,说需要我填写完整。直接将个人的信息完整的返回给那个信息之后,几分钟之内就回到了StartSSL的确认邮箱。:P 这里说明他们的服务还是相当好的。
在你完成StartSSL要求的一系列步骤之后会得到ssl.crt和ssl.key两个文件,上传到你的服务器的某个目录中,然后进行以下操作
wget http://cert.startssl.com/certs/ca.pem wget http://cert.startssl.com/certs/sub.class1.server.ca.pemcat ca.pem sub.class1.server.ca.pem>> ca-certs.crtcat ca-certs.crt >> ssl.crt 然后就可以开始配置nginx了这里直接给出nginx.conf的增加内容我拿的我的txp.name来开刀
server { listen 80; server_name txp.name www.txp.name; #rewrite ^/(.*) https://txp.name/$1 permanent; if ( $http_user_agent ~* [^baiduspider|bing|yahoo|msnbot|soso|sogou|iaskspider|yodao] ) { rewrite ^(.*) https://www.txp.name$1 permanent; } } server { listen 443; server_name txp.name www.txp.name; index index.html index.htm index.php; root /jiaozhu/htdocs/blog; ssl on; ssl_certificate /usr/local/nginx/ssl/ssl.crt; ssl_certificate_key /usr/local/nginx/ssl/ssl.key; #limit_conn crawler 20; location ~ .*.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*.(js|css)?$ { expires 1h; } if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } log_format access $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; access_log /jiaozhu/logs/access.log access; }将txp.name改成你的域名就可以了,我这里进行的是强制使用ssl
使用nginx -t对nginx.conf进行检查,我这里报错(SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line)这是由于在合并ssl.crt的时候出了问题more一下ssl.crt可以看到一行 -----END CERTIFICATE----------BEGIN CERTIFICATE-----但是标准的格式应该是 -----END CERTIFICATE----------BEGIN CERTIFICATE-----改正之后重新使用nginx -t进行检查发现已经正常了。使用nginx -s reload重新启动nginx即可。
我检查了一下在firefox和chrome下都正常,但是ie下却没有样式。我的解决办法是在数据库执行以下句子UPDATE `typecho`.`typecho_options` SET `value` = https://txp.name WHERE `typecho_options`.`name` = siteUrl大家可以访问txp.name看一下效果
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能