nginx 配置,证书以及一个端口多用的配置

532 阅读2分钟

1、记得把文件放置在/etc/pki/nginx/和/etc/pki/nginx/private/


 server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  _;
       root         /var/www/web;

       ssl_certificate "/etc/pki/nginx/server.pem";
       ssl_certificate_key "/etc/pki/nginx/private/server.key";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_ciphers HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers on;

       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

       location / {
       }

       error_page 404 /404.html;
           location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
   }

2、https[443端口]对应多个地址

   server {
       listen       443 ssl http2;
       server_name  a.baidu.com;
       root         /var/www/web;

       ssl_certificate "/etc/pki/nginx/server.pem";
       ssl_certificate_key "/etc/pki/nginx/private/server.key";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_ciphers HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers on;

       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

       location / {
       }

       error_page 404 /404.html;
           location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
   }

   server {
       listen       443 ssl http2;
       server_name  b.baidu.com;

       ssl_certificate "/etc/pki/nginx/server.pem";
       ssl_certificate_key "/etc/pki/nginx/private/server.key";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_ciphers HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers on;

       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://11.12.13.14:8001/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 10m;
        }

       error_page 404 /404.html;
           location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
   }

3、http[80端口] 一个端口多用

    server {
        listen       80;
        server_name  a.baidu.com;
        root         /var/www/web;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

    server {
        listen 80;
        server_name b.baidu.com;
        location / {
            proxy_pass http://11.12.13.14:8002/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
            client_max_body_size 10m;
        }
    }

4、在centos中目录中,重启nginx

1)whereis nginx,找出安装目录,一般是/usr/local/nginx
  (2)进入/usr/local/nginx/sbin目录中运行如下命令;
  ./nginx -v 查看当前nginx版本号
  ./nginx -s stop 关闭
  ./nginx 开启
  ./nginx -s reload 重新加载配置文件(修改配置文件后进行)

5、处理windows 7一体机开机自启网页,并全屏展示;
(1)、bat文件,因为有中文,请使用ASCII编码,bat文件和vbs文件在同一个目录下。

@echo off
for /L %%a in (10,-1,0) do (
   echo 程序启动中,还剩余 %%a 秒
   ping -n 2 localhost 1>nul 2>nul
   cls
)
start C:\Progra~1\Google\Chrome\Application\chrome.exe --kiosk http://localhost/index
start 1.vbs
echo 启动程序完成

// 1.vbs
Set objShell = CreateObject("Wscript.Shell")

objShell.SendKeys "{F11}"  

(2)、给bat文件创建快捷方式,并放置到开启自启目录下;

6、nginx配置参数

# 指定客户端请求体的最大允许大小,默认1M,将size设置为0将禁用检查客户端请求正文大小。
client_max_body_size 0;

http {
    client_max_body_size 20m;
}

# 防盗链
location ~ .*\.(jpg|png|gif)$ { 
    valid_referers 127.0.0.1;
    if ($invalid_referer) {
         rewrite ^/  /image/1.jpg break;
    #    return 403;
    }
}

location / {
    # 添加域名重定向
    # $host为rewrite全局变量,代表请求主机头字段或主机名
    if ($host = 'www.kgc.com'){   
        rewrite ^/(.*)$ http://www.benet.com/$1 permanent;  
        #$1为正则匹配的内容,即“域名/”之后的字符串
    }
    root   html;
    index  index.html index.htm;
 }