将http升级为https nginx服务器

我要将http://wechat.mine.com升级为https://wechat.mine.com
首先进入阿里云–控制台–域名,点击要升级的域名,在基本信息那里点击“免费开启ssl证书”
在这里插入图片描述将http升级为https nginx服务器_第1张图片
如果是企业用建议选择“DV通配符证书”,这个安全性肯定比免费的高。个人的我觉得免费的就够了。
我想申请wechat.mine.com,那么在输入框中填wechat,然后点击确定即可。
将http升级为https nginx服务器_第2张图片
到ssl证书控制台下载nginx证书,还有其他版本。
将http升级为https nginx服务器_第3张图片

  1. 如果安装过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 下);

  1. 没有安装nginx,安装参考 安装,然后步骤与本文1一致。
  2. 安装了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的安装位置

参考1

你可能感兴趣的:(nginx)