Nginx反向代理https服务

最近因工作需要,需在Web前端做一个代理,来解决部分用户不能访问的需求;之前通过Nginx反向代理已实现对Web的代理,但后来发现还有站点为https的,所以又找了些资料,整理了一下,测试完成。

--------------------------------------分割线 --------------------------------------

CentOS 6.2实战部署Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

--------------------------------------分割线 --------------------------------------

方法

Nginx代理web站点ttxsgoto.com的相关部署和配置主要如下脚本实现:

#!/bin/bash

path_soft=$(pwd)


function base(){

yum -y install  make gcc gcc-c++ autoconf 

}


function install(){

groupadd www

useradd -g www www


wget

tar zxvf pcre-8.36.tar.gz

cd pcre-8.36

./configure

make && make install


wget

tar zxvf nginx-1.6.2.tar.gz

cd nginx-1.6.2

./configure --user=www --group=www --prefix=/usr/local/web/nginx --with-http_stub_status_module  --with-http_ssl_module

make &&make install

}

function config(){

sed -i "s#\#gzip\ \ on;#\#gzip\ \ on;\n\n include\ \ vhosts/*.conf; #g" /usr/local/web/nginx/conf/nginx.conf

mkdir /usr/local/web/nginx/conf/vhosts


cat << EOF >> /usr/local/web/nginx/conf/vhosts/ttxsgoto.com.conf

server

{

listen            80;

server_name    ttxsgoto.com;

charset GB2312;

index index.html index.htm;

root    /date/wwwroot/ttxsgoto.com/;

location ~ ^/NginxStatus/ {

stub_status on;

access_log off;

}

location / {

proxy_redirect off ;

proxy_set_header Host \$host;

proxy_set_header X-Real-IP \$remote_addr;

proxy_set_header REMOTE-HOST \$remote_addr;

proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;

client_max_body_size 50m;

client_body_buffer_size 256k;

proxy_connect_timeout 30;

proxy_send_timeout 30;

proxy_read_timeout 60;

proxy_buffer_size 256k;

proxy_buffers 4 256k;

proxy_busy_buffers_size 256k;

proxy_temp_file_write_size 256k;

proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

proxy_max_temp_file_size 128m;

proxy_pass    ;

}

}

server

{

listen            8081;

server_name    ttxsgoto.com:8081;

charset GB2312;

index index.html index.htm;

root    /date/wwwroot/ttxsgoto.com/;

location ~ ^/NginxStatus/ {

stub_status on;

access_log off;

}

location / {

proxy_redirect off ;

proxy_set_header Host \$host;

proxy_set_header X-Real-IP \$remote_addr;

proxy_set_header REMOTE-HOST \$remote_addr;

proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;

client_max_body_size 50m;

client_body_buffer_size 256k;

proxy_connect_timeout 30;

proxy_send_timeout 30;

proxy_read_timeout 60;

proxy_buffer_size 256k;

proxy_buffers 4 256k;

proxy_busy_buffers_size 256k;

proxy_temp_file_write_size 256k;

proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

proxy_max_temp_file_size 128m;

proxy_pass    :8081;

}

}

EOF

cat << EOF >> /etc/hosts

2.2.2.2 ttxsgoto.com

EOF

ln -s /usr/local/lib/libpcre.so.1 /lib64/

ulimit -SHn 51200

}

function start(){

/usr/local/web/nginx/sbin/nginx

}

function main(){

base

install

config

start

}

main

至此,nginx代理web的安装和配置都已完成,验证方法:在本地修改hosts文件:x.x.x.x  ttxsgoto.com,通过浏览访问页面成功。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9e4570258b6784f91ba44c060e092e2c.html