博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx增加ssl支持 - 编译时参数详情列表
阅读量:5077 次
发布时间:2019-06-12

本文共 6553 字,大约阅读时间需要 21 分钟。

  1. ./configure   --with-http_ssl_module 
  2. make && make install  
 

//环境介绍

1.nginx服务器:10.10.54.157

2.配置nginx服务器,当监听到来自客户端www.zijian.com:80请求时,转到10.10.54.150:1500这个web服务器上

3.配置nginx服务器支持ssl加密传输协议

//生成nginx服务器需要的证书文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1.创建网站证书存放目录
shell> 
mkdir 
/usr/local/nginx/conf/ssl
shell> 
cd 
/usr/local/nginx/conf/ssl
 
2.制作CA证书
shell> openssl genrsa -des3 -out ca.key 2048
shell> openssl req -new -x509 -days 7305 -key ca.key -out ca.crt
 
3.生成nginx服务器所需证书,并用CA签名
shell> openssl genrsa -des3 -out client.key 1024
shell> openssl req -new -key client.key -out client.csr
shell> openssl x509 -req -
in 
client.csr -out client.pem -signkey client.key -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
 
4.查看证书文件
shell> 
pwd
/usr/local/nginx/conf/ssl
shell> 
ls
ca.crt  ca.key  ca.srl  client.csr  client.key  client.pem

 

//配置nginx支持ssl传输协议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
shell> vim 
/usr/local/nginx/conf/nginx
.conf
------------------------------------------------
user  apache apache;
worker_processes  2;
error_log  logs
/error_nginx
.log;
pid        logs
/nginx
.pid;
events {
    
worker_connections  1024;
}
 
http {
        
include       mime.types;
        
default_type  application
/octet-stream
;
        
log_format  main  
'$remote_addr - $remote_user [$time_local] "$request" '
                      
'$status $body_bytes_sent "$http_referer" '
                      
'"$http_user_agent" "$http_x_forwarded_for"'
;
        
access_log  logs
/access_nginx
.log  main;
        
sendfile        on;
        
tcp_nopush      on;
        
keepalive_timeout  65;
        
gzip  
on;
 
server {
        
listen       443;
        
server_name  www.zijian.com;
         
charset uft-8;
         
access_log logs
/www
.access.log main;
         
root 
/var/www/html
;
         
location / {
         
index index.html index.htm;
          
}
 
         
ssl                  on;
         
ssl_certificate      
/usr/local/nginx/conf/ssl/client
.pem;
         
ssl_certificate_key  
/usr/local/nginx/conf/ssl/client
.key;
 
      
}
}
--------------------------------------------------------
 
#上面的配置只支持https://www.zijian.com 访问,因为监听端口只开了443端口,普通的http协议的80端口并未开放
#要开放http和https,再加上下面这一条server
------------------------------------------------
server {
        
listen       80;
        
server_name  www.zijian.com;
         
charset uft-8;
         
access_log logs
/www
.access.log main;
         
root 
/var/www/html
;
         
location / {
         
proxy_pass http:
//10
.10.54.150:1500;
          
}
      
}
       
#当用户使用http协议浏览该网站时,自动跳转到10.10.54.150:1500上
------------------------------------------------

 

 
nginx编译参数说明如下:
 
--prefix=<path> -- 安装路径,如果没有指定,默认为/usr/local/nginx。
--sbin-path=<path> -- nginx可执行命令的文件,如果没有指定,默认为<prefix>/sbin/nginx。
--conf-path=<path> -- 在没有使用-c参数指定的情况下nginx.conf的默认位置,如果没有指定,默认为<prefix>/conf/nginx.conf。
--pid-path=<path> -- nginx.pid的路径,如果没有在nginx.conf中通过“pid”指令指定,默认为<prefix>/logs/nginx.pid。
--lock-path=<path> -- nginx.lock文件路径,如果没有指定,默认为<prefix>/logs/nginx.lock。
--error-log-path=<path> -- 当没有在nginx.conf中使用“error_log”指令指定时的错误日志位置,如果没有指定,默认为<prefix>/logs/error.log。
--http-log-path=<path> -- 当没有在nginx.conf中使用“access_log”指令指定时的访问日志位置,如果没有指定,默认为<prefix>/logs/access.log。
--user=<user> -- 当没有在nginx.conf中使用“user”指令指定时nginx运行的用户,如果没有指定,默认为“nobody”。
--group=<group> -- 当没有在nginx.conf中使用“user”指令指定时nginx运行的组,如果没有指定,默认为“nobody”。
--builddir=DIR -- 设置构建目录。
--with-rtsig_module -- 启用rtsig模块。
--with-select_module --without-select_module -- 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,select模块始终为启用状态。
--with-poll_module --without-poll_module -- 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,poll模块始终为启用状态。
--with-http_ssl_module -- 启用ngx_http_ssl_module,启用SSL支持并且能够处理HTTPS请求。需要OpenSSL,在Debian系统中,对应的包为libssl-dev。
--with-http_realip_module -- 启用ngx_http_realip_module
--with-http_addition_module -- 启用ngx_http_addition_module
--with-http_sub_module -- 启用ngx_http_sub_module
--with-http_dav_module -- 启用ngx_http_dav_module
--with-http_flv_module -- 启用ngx_http_flv_module
--with-http_stub_status_module -- 启用”server status”(服务状态)页
--without-http_charset_module -- 禁用ngx_http_charset_module
--without-http_gzip_module -- 禁用ngx_http_gzip_module,如果启用,需要zlib包。
--without-http_ssi_module -- 禁用ngx_http_ssi_module
--without-http_userid_module -- 禁用ngx_http_userid_module
--without-http_access_module -- 禁用ngx_http_access_module
--without-http_auth_basic_module -- 禁用ngx_http_auth_basic_module
--without-http_autoindex_module -- 禁用ngx_http_autoindex_module
--without-http_geo_module -- 禁用ngx_http_geo_module
--without-http_map_module -- 禁用ngx_http_map_module
--without-http_referer_module -- 禁用ngx_http_referer_module
--without-http_rewrite_module -- 禁用ngx_http_rewrite_module。如果启用,需要PCRE包。
--without-http_proxy_module -- 禁用ngx_http_proxy_module
--without-http_fastcgi_module -- 禁用ngx_http_fastcgi_module
--without-http_memcached_module -- 禁用ngx_http_memcached_module
--without-http_limit_zone_module -- 禁用ngx_http_limit_zone_module
--without-http_empty_gif_module -- 禁用ngx_http_empty_gif_module
--without-http_browser_module -- 禁用ngx_http_browser_module
--without-http_upstream_ip_hash_module -- 禁用ngx_http_upstream_ip_hash_module
--with-http_perl_module -- 启用ngx_http_perl_module
--with-perl_modules_path=PATH -- 为perl模块设置路径
--with-perl=PATH -- 为perl库设置路径
--http-client-body-temp-path=PATH -- 为http连接的请求实体临时文件设置路径,如果没有指定,默认为<prefix>/client_body_temp
--http-proxy-temp-path=PATH -- 为http代理临时文件设置路径,如果没有指定,默认为<prefix>/proxy_temp
--http-fastcgi-temp-path=PATH - 为http fastcgi临时文件设置路径,如果没有指定,默认为<prefix>/fastcgi_temp
--without-http -- 禁用HTTP服务
--with-mail -- 启用IMAP4/POP3/SMTP代理模块
--with-mail_ssl_module -- 启用ngx_mail_ssl_module
--with-cc=PATH -- 设置C编译器路径
--with-cpp=PATH -- 设置C预处理器路径
--with-cc-opt=OPTIONS -- 变量CFLAGS中附加的参数,用于FreeBSD中的PCRE库,同样需要指定--with-cc-opt=”-I /usr/local/include”,如果我们使用select()函数则需要同时增加文件描述符数量,可以通过--with-cc-opt=”-D FD_SETSIZE=2048”指定。
--with-ld-opt=OPTIONS -- 通过连接器的附加参数,用于FreeBSD中的PCRE库,同样需要指定--with-ld-opt=”-L /usr/local/lib”。
--with-cpu-opt=CPU -- 指定编译的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64
--without-pcre -- 禁用PCRE库文件,同时将禁用HTTP rewrite 模块,如果要在”location”指令中使用正则表达式,同样需要PCRE库。
--with-pcre=DIR -- 设置PCRE库源文件路径。
--with-pcre-opt=OPTIONS -- 在编译时为PCRE设置附加参数。
--with-md5=DIR -- 设置md5库源文件路径。
--with-md5-opt=OPTIONS -- 在编译时为md5设置附加参数。
--with-md5-asm -- 使用md5汇编源。
--with-sha1=DIR -- 设置sha1库源文件路径。
--with-sha1-opt=OPTIONS -- 在编译时为sha1设置附加参数。
--with-sha1-asm -- 使用sha1汇编源。
--with-zlib=DIR -- 设置zlib库源文件路径。
--with-zlib-opt=OPTIONS -- 在编译时为zlib设置附加参数。
--with-zlib-asm=CPU -- 为指定的CPU使用zlib汇编源进行优化,可用值为: pentium, pentiumpro。
--with-openssl=DIR -- 设置openssl库源文件路径。
--with-openssl-opt=OPTIONS -- 在编译时为openssl设置附加参数。
--with-debug -- 启用debug记录。
--add-module=PATH -- 增加一个在PATH中的第三方模块。

转载于:https://www.cnblogs.com/bravenight/p/4485340.html

你可能感兴趣的文章
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
关于indexOf的使用
查看>>
英语单词
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
新手Python第一天(接触)
查看>>
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>
codevs 1080 线段树练习
查看>>
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
QML学习笔记之一
查看>>
Window 的引导过程
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>