当你已经安装了nginx并且有 --with-http_ssl_module 的时候
假如你已经安装好了 nginx,并且通过命令 ./nginx -V (执行该命令需要进入到nginx的安装目录的sbin文件夹下,一般cd /usr/local/nginx/sbin即可)
查看nginx配置的时候configure arguments有 --with-http_ssl_module,表示安装了https模块。
接下来你只需要作如下操作:
在配置文件nginx.conf中新增一个server,并将监听端口改为 443 ssl,并添加如下证书地址和私钥文件地址
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server_nopass.key;
即添加如下配置:
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server_nopass.key;
location / {
root html;
index index.html index.htm;
}
}
私钥和证书是如何生成的,是在conf目录下(一般是/usr/local/nginx/conf,具体看nginx的安装目录)执行下面的语句:
# 1、创建服务器私钥,命令会让你输入一个口令:
openssl genrsa -des3 -out server.key 1024
# 2、创建签名请求的证书(CSR):
openssl req -new -key server.key -out server.csr
# 3、在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
openssl rsa -in server.key -out server_nopass.key
# 4、最后标记证书使用上述私钥和CSR:
openssl x509 -req -days 365 -in server.csr -signkey server_nopass.key -out server.crt
便可生成需要的免费证书和秘钥,至于买的秘钥和证书估计覆盖添加到conf目录下即可。
将配置文件保存好后,
接下来重启nginx
进入nginx安装目录sbin下
输入命令./nginx -t,如果显示:
nginx: the configuration file /data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/nginx/conf/nginx.conf test is successful
则说明是合适的
进入nginx可执行目录sbin下,输入命令
./nginx -s reload 即可
当你没有安装nginx的时候,需要按照下面的步骤操作:<