Nginx (engine x)是一个高性能的HTTP和反向代理web服务器,它还可以代理tcp服务器实现加载、活动和备用功能。
以下分别是http、https和tcp服务器的配置。
1.nginx代理http上游tomcatserver{ 服务器IP:8080 max _ fails = 2 fail _ time out = 30s; 服务器IP:8090 max _ fails = 2 fail _ time out = 30s备份; } location/user center { proxy _ connect _ time out 1; proxy _ read _ time out 1; proxy _ send _ time out 1; proxy_next_upstream错误超时http _ 502 http _ 503 http _ 504 proxy _ pass http://Tomcat server/user center; }ip:8080主机
Ip:8090待机
参数解释
备份参数用作备份机器。主机挂机的时候会在上面。
对max _ failures参数的理解:max _ failures的默认值为1,fail_timeout的默认值为10秒,也就是说,如果10秒内出现一次以上的故障,则设备被标记为不可用。
proxy_connect_timeout参数是连接的超时。设置为1,这意味着1秒钟后,它将超时并连接到另一台服务器。
proxy_read_timeout参数是接收数据的超时时间,设置为1。如果1秒钟内没有收到一个字节,连接关闭,默认为60秒。
proxy_send_timeout参数是向服务器发送数据的超时时间,设置为1。如果1秒内没有发送一个字节,连接关闭,默认为60s。
ngx 1 . 9 . 0及以上版本可以支持tcp服务代理。
服务端口9611
服务1: 192.168.2.148: 9611重量5
服务2: 192.168.2.132: 9611重量1
备用:192.168.6.130当服务1和2失败时,将使用备用。
打开conf/nginx.conf配置文件,输入以下内容。
stream {
上游后端{
# hash $ remote _ addr consistent;
server 192 . 168 . 2 . 148:9611 weight = 5 max _ fails = 1 fail _ time out = 30s;
服务器192.168.2.132:9611权重= 1;
服务器192.168.6.130:9610备份;
}
server {
listen 9611 so _ keepalive = on;
proxy _ connect _ time out 10s;
proxy _ time out 300s;
proxy_pass后端;
}
}
首先,https需要证书,openssl可以用来生成证书请求或者生成证书。可以在linux终端使用openssl命令生成。
1。生成RSA密钥的方法
OpenSSL gen RSA-des 3-out privkey . PEM 2048
该命令将生成一个2048位的密钥,其密码用des3方法加密。如果不想每次都输入密码,可以改成:OpenSSL gen RSA-out privkey . PEM 2048建议使用2048位的密钥,否则可能很快就不安全或者不安全了。
2。生成证书请求
OpenSSL req-new-key privkey . PEM-out cert . CSR
当然,这个命令将使用之前生成的密钥privkey.pem文件生成一个证书请求。
这里会生成一个新的文件cert.csr,也就是一个证书请求文件。您可以将此文件带到数字证书颁发机构(即CA)申请数字证书。CA会给你一个新文件cacert.pem,这是你的数字证书。
现在自己做测试,那么证书的申请人和签发人都是自己。您可以使用以下命令来生成证书:
OpenSSL req-new-x509-key privkey . PEM-out cacert . PEM-days 1095
此命令将使用上面生成的密钥privkey.pem来生成数字证书cacert.pem
有了privkey.pem和cacert.pem文件,就可以做https服务器了。
Nginx https服务配置
# HTTPS服务器
server { listen 443 SSL; server_name本地主机; SSL _ certificate cacert . PEM; SSL _ certificate _ key privkey . PEM; SSL _ session _ cache shared:SSL:1m; SSL _ session _ time out 5m; ssl_ciphers高:!阿努尔:MD5 SSL _ prefere _ server _ ciphers on; location/{ root html; 索引index.html index.htm; } }测试https://192.168.6.130:443

此外,一个nginx服务器可以同时代理多个服务。








