设为首页 收藏本站
查看: 1398|回复: 0

[经验分享] nginx添加模块与https支持

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-28 10:06:00 | 显示全部楼层 |阅读模式
实例1:为已安装nginx动态添加模块
以安装rtmp媒流模块为例:
1)下载第三方模块到
[iyunv@LNMP nginx-1.8.1]# git clone https://github.com/arut/nginx-rtmp-module.git

2)查看nginx编译安装时安装的模块
1
2
3
4
5
6
[iyunv@LNMP nginx-1.8.1]# nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_ssl_module



3)cd到源码目录添加模块重新配置编译
1
2
[iyunv@LNMP nginx]# cd /root/tools/nginx-1.8.1
[iyunv@LNMP nginx-1.8.1]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_ssl_module --add-module=/root/tools/nginx-1.8.1/nginx-rtmp-module



1
[iyunv@LNMP nginx-1.8.1]# make



#此处只进行编译不进行安装,如安装的话会覆盖源文件。
4)在编译完成后,会在当前目录下生成一个objs文件夹,将nginx二进制文件拷贝到源安装目录下,注意备份源文件,然后查看编译后的模块。
1
2
3
4
5
6
7
8
9
[iyunv@LNMP nginx-1.8.1]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.20170825
[iyunv@LNMP nginx-1.8.1]# cp objs/nginx /usr/local/nginx/sbin/nginx
[iyunv@LNMP nginx-1.8.1]# nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_ssl_module --add-module=/root/tools/nginx-1.8.1/nginx-rtmp-module
[iyunv@LNMP nginx-1.8.1]# nginx -s reload




实例2:nginx使用ssl模块配置https支持
1、生成证书(注意此证书为自己颁发的在公网上不受信任)
1)生成一个rsa密钥:
1
2
3
4
5
6
7
[iyunv@LNMP ssl]# openssl genrsa -des3 -out test.key 1024
Generating RSA private key, 1024 bit long modulus
..............................++++++
...........................++++++
e is 65537 (0x10001)
Enter pass phrase for test.key:   #输入密码,需要复杂性要求
Verifying - Enter pass phrase for test.key:  #重复密码



2)拷贝刚才的密码文件,生成一个不需要密码的密钥文件:
1
2
3
[iyunv@LNMP ssl]# openssl rsa -in test.key -out test_nopass.key
Enter pass phrase for test.key:  #输入以上创建时输入的密码
writing RSA key



3)生成一个证书请求文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[iyunv@LNMP ssl]# openssl req -new -key test.key -out test.csr
Enter pass phrase for test.key:  #输入以上创建时输入的密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn  #国家
State or Province Name (full name) []:shanghai  #省份
Locality Name (eg, city) [Default City]:shanghai #城市
Organization Name (eg, company) [Default Company Ltd]:shanghai information company Ltd   #具体名称
Organizational Unit Name (eg, section) []:test  #单位名称
Common Name (eg, your name or your server''s hostname) []:*.test.cn   #服务器域名
Email Address []:admin@test.cn  #邮箱
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:   #密码为空,直接回车
An optional company name []: #密码为空,直接回车



4)自己签发证书
1
2
3
4
5
[iyunv@LNMP ssl]# openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt
Signature ok
subject=/C=cn/ST=shanghai/L=shanghai/O=shanghai information company Ltd/OU=test/CN=*.test.cn/emailAddress=admin@test.cn
Getting Private key
Enter pass phrase for test.key:  #输入test.key设置的密码




2、配置nginx.conf文件
1
2
3
4
5
6
7
8
9
[iyunv@LNMP ssl]# vim /usr/local/nginx/conf/nginx.conf
添加如下:
server {
        listen       80;
        server_name  localhost;
        listen 443;   #监听端口
        ssl on;   #开启ssl
        ssl_certificate /usr/local/nginx/conf/test.crt; #指定证书位置
        ssl_certificate_key  /usr/local/nginx/conf/test_nopass.key;  #指定密钥文件,如此处使用test.key则每次启动nginx服务器需要舒服key密码。



1
[iyunv@LNMP ssl]# nginx -s reload  #重加载配置



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-403572-1-1.html 上篇帖子: nginx日志轮询切割实战 下篇帖子: Nginx添加openssl模块编译时报错问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表