Nginx从搭建到配置支持HTTPS的方法
安装
基础包
ububtu apt-getinstallbuild-essential apt-getinstalllibtool centos yum-yinstallgccautomakeautoconflibtoolmake yuminstallgccgcc-c++
进入安装目录
cd/usr/local/src
安装PCRE支持正则表达使Nginx支持Rewrite功能
wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz tar-zxvfpcre-8.42.tar.gz cdpcre-8.42 ./configure make makeinstall
安装zlib支持数据压缩
wgethttp://zlib.net/zlib-1.2.11.tar.gz tar-zxvfzlib-1.2.11.tar.gz cdzlib-1.2.11 ./configure make makeinstall
安装openssl支持https
wgethttps://www.openssl.org/source/openssl-1.1.1-pre7.tar.gz tar-zxvfopenssl-1.1.1-pre7.tar.gz cdopenssl-1.1.1-pre7 ./configure make makeinstall
Nginx
wgethttp://nginx.org/download/nginx-1.14.0.tar.gz tar-zxvfnginx-1.14.0.tar.gz cdnginx-1.14.0 ./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module make makeinstall
配置
配置文件地址
/usr/local/nginx/conf/nginx.conf
使用
命令
/usr/local/nginx/sbin/nginx#启动Nginx /usr/local/nginx/sbin/nginx-t#检查Nginx配置文件正确性 /usr/local/nginx/sbin/nginx-sreload#重新载入配置文件 /usr/local/nginx/sbin/nginx-sreopen#重启Nginx /usr/local/nginx/sbin/nginx-sstop#停止Nginx
进程关闭
#查看进程号 ps-ef|grepnginx #正常退出 kill-QUIT进程号 #快速停止 kill-TERM进程号 kill-INT进程号 #强制退出 kill-KILLnginx 生成cer证书支持https 生成cer证书 #进入存放证书的目录 /usr/local/nginx/conf/ssl #创建服务器证书密钥文件server.key私钥 opensslgenrsa-des3-outserver.key1024 #输入密码,确认密码,后面会使用 #创建签名请求的证书(CSR) opensslreq-new-keyserver.key-outserver.csr #输出内容为: #Enterpassphraseforroot.key:←输入前面创建的密码 #CountryName(2lettercode)[AU]:CN←国家代号,中国输入CN #StateorProvinceName(fullname)[Some-State]:BeiJing←省的全名,拼音 #LocalityName(eg,city)[]:BeiJing←市的全名,拼音 #OrganizationName(eg,company)[InternetWidgitsPtyLtd]:MyCompanyCorp.←公司英文名 #OrganizationalUnitName(eg,section)[]:←可以不输入 #CommonName(eg,YOURname)[]:←此时不输入 #EmailAddress[]:admin@mycompany.com←电子邮箱,可随意填 #Pleaseenterthefollowing‘extra'attributes #tobesentwithyourcertificaterequest #Achallengepassword[]:←可以不输入 #Anoptionalcompanyname[]:←可以不输入 #备份服务器密钥文件 cpserver.keyserver.key.org #去除文件口令,生成公钥 opensslrsa-inserver.key.org-outserver.key #Enterpassphraseforserver.key.org:←输入前面创建的密码 #生成证书文件server.crt opensslx509-req-days365-inserver.csr-signkeyserver.key-outserver.crt
配置https
#/usr/local/nginx/conf/nginx.conf
#
#HTTPSserverconfiguration
#
server{
listen443ssl;#ssl端口
server_namewww.xingkongbj.comxingkongbj.com;#域名
sslon;#开启ssl
ssl_certificatessl/server.crt;
ssl_certificate_keyssl/server.key;
ssl_session_timeout5m;
#ssl_protocolsSSLv2SSLv3TLSv1;
#ssl_ciphersALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_cipherson;
location/{
proxy_redirectoff;#禁止跳转
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_passhttp://98.142.138.177/;
}
}
#nginx:[emerg]the"ssl"parameterrequiresngx_http_ssl_modulein/usr/local/nginx/conf/nginx.conf
#原因是nginx缺少http_ssl_module模块,编译安装时带上--with-http_ssl_module配置就可以了
#切换到nginx源码包
cdcd/usr/local/src/nginx-1.14.0/
#查看ngixn原有的模块
/usr/local/nginx/sbin/nginx-V
#重新配置
./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module
#重新编译,不需要makeinstall安装。否则会覆盖
make
#备份原有已经安装好的nginx
cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bak
cp/usr/local/nginx/conf/nginx.conf/usr/local/nginx.conf
#将刚刚编译好的nginx覆盖掉原来的nginx(ngixn必须停止)
cp./objs/nginx/usr/local/nginx/sbin/
#这时,会提示是否覆盖,请输入yes,直接回车默认不覆盖
#启动nginx,查看nginx模块,发现已经添加
/usr/local/nginx/sbin/nginx-V
/usr/local/nginx/sbin/nginx-t
/usr/local/nginx/sbin/nginx
总结
以上所述是小编给大家介绍的Nginx从搭建到配置支持HTTPS的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!