我要将http://wechat.mine.com升级为https://wechat.mine.com
首先进入阿里云–控制台–域名,点击要升级的域名,在基本信息那里点击“免费开启ssl证书”
如果是企业用建议选择“DV通配符证书”,这个安全性肯定比免费的高。个人的我觉得免费的就够了。
我想申请wechat.mine.com,那么在输入框中填wechat,然后点击确定即可。
到ssl证书控制台下载nginx证书,还有其他版本。
- 如果安装过nginx并且安装了openssl
将压缩包解压到nginx所在目录,打开nginx/conf/nginx.conf
找到如下代码,原来是注释掉的,去掉“#”
# HTTPS server
server {
listen 443 ssl;
server_name wechat.mine.com;
ssl on;
ssl_certificate 证书绝对路径.crt; 如/usr/local/cert/文件名称.crt
ssl_certificate_key 证书绝对路径.key; 如/usr/local/cert/文件名称.key
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass mine.com:70;
# root html;
# index index.html index.htm;
}
}
验证配置是否正确/usr/local/nginx/sbin/nginx -t(假设nginx安装在/usr/local 下);
- 没有安装nginx,安装参考 安装,然后步骤与本文1一致。
- 安装了nginx但没有安装OpenSSL
假设nginx安装在/usr/local/
输入/usr/local/nginx/sbin/nginx -V ,回车后,输入 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
再次输入/usr/local/nginx/sbin/nginx -V ,configure arguments信息中包括 -with-http_ssl_module,然后输入make编译。
接着备份:cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
然后覆盖:cp ./objs/nginx /usr/local/nginx/sbin/
接下来配置如1。
最后启动nginx。
报错:
如果出现“[emerg] 10464#0: unknown directive “ssl” 。。。”则说明在编译nginx的时候没有将ssl模块编译进nginx,在./configure的时候加上“–with-http_ssl_module” ;
如果运行时,系统提示Text file busy,输入fuser /usr/local/nginx/sbin/nginx,然后kill相关进程即可;
如果编译时报错The program‘nginx’ can be …
* nginx-core
说明没有安装该模块,安装即可。
ps:输入/usr/local/nginx/sbin/nginx -V 查看是否安装了OpenSSL。查看 configure arguments 信息中是否包含 -with-http_ssl_module 字样,如果没有则没有安装。
输入 whereis nginx 可查看nginx的安装位置