Nginx搭建反向代理服务器
- 2020 年 3 月 16 日
- 筆記
default.conf配置
外部访问支持http和https,但是nginx内部统一把请求转换成https转发出去
server { listen 80; server_name sunfj.cn; ## root www/mimvp_proxy; rewrite ^(.*)host$1 permanent;##强制http转https请求 } server { listen 443 ssl http2; server_name xxx.cn; ## root www/mimvp_proxy; ssl on; ssl_certificate /etc/ssl/certs/xxx.crt; ssl_certificate_key /etc/ssl/certs/xxx.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass /*proxy address*/; } location ~ .do$ { proxy_pass /*proxy address*/; } location ~* ^/(images|img|javascript|js|css|blog|flash|media|static)/ { proxy_pass /*proxy address*/; } location ~* ^/favicon.ico { proxy_pass /*proxy address*/; } location ~* ^/img/logo.png { proxy_pass /*proxy address*/; } location ~ /.ht { deny all; } }
nginx.conf配置
- 转发请求对应的header参数:underscores_in_headers on;
- 超时时间配置(全局):
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k;
docker操作
- 启动Nginx命令:
docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx
- 反向代理启动命令:
docker run --name nginx -p 80:80 -p 443:443 -v /home/data/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/data/nginx/conf.d:/etc/nginx/conf.d -v /etc/ssl/certs:/etc/ssl/certs -d nginx