- ./configure --with-http_ssl_module
- 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中的第三方模块。