Centos安装nginx以及https配置反向代理
in nginx with 2 comment

Centos安装nginx以及https配置反向代理

in nginx with 2 comment

1 nginx简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2 安装nginx

2.1 添加 Nginx 源


sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.2 安装 Nginx

sudo yum install -y nginx

2.3 启动 Nginx

sudo systemctl start nginx.service

2.4设置开机自启

sudo systemctl enable nginx.service

2.5 配置 Nginx

vim /etc/nginx/conf.d/halo.conf

打开之后我们可以看到

server {
    listen 80;

    server_name example.com www.example.com;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:8090/;
    }
}

注意:请把 example.com 改为自己的域名。

2.6 检查配置是否有误

sudo nginx -t

2.7 重载 Nginx 配置

sudo nginx -s reload

2.8 配置Https SSL证书

server {  
    listen 443 ssl;  
    server_name www.example.com; #你的申请过证书的域名
    client_max_body_size 64M;
    fastcgi_read_timeout 3600;
    error_page   500 502 503 504  /50x.html;
    root   /usr/share/nginx/html;
    try_files $uri $uri/ @rewrite;
    ssl on;  
    ssl_certificate /etc/nginx/conf.d/certs/www.example.com/3448039_sparksys.top.pem;
    ssl_certificate_key /etc/nginx/conf.d/certs/www.example.com/3448039_sparksys.top.key;
    ssl_session_timeout 5m;  
    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 / {
	add_header Content-Security-Policy upgrade-insecure-requests;
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8090/;
    }
} 

到这里,关于 Nginx 的配置也就完成了,现在你可以访问一下自己的域名。