linux安装nginx配置https

最近在linux中配置nginx,然后需要配置https访问域名。

安装nginx前,我们首先要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。如果安装请忽略。

1、# yum install gcc-c++

nginx是C语言开发的,在官网上下的源码需要编译,依赖gcc环境。

2、# yum install -y pcre pcre-devel

pcre是一个Perl库,包括Perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式 。

3、# yum install -y zlib zlib-devel

zlib库提供了很多压缩和解压缩的方式,nginx用zlib对http包进行gzip。

4、# yum install -y openssl openssl-devel

openssl是一个安全套接字层密码库,nginx支持http协议和https协议(在ssl协议上传输http)。

一般nginx都是安装在/usr/local/,所以进入local目录下
cd /usr/local/

5、# wget http://nginx.org/download/nginx-1.8.0.tar.gz

(这是下载的1.8.0版本的)

6、# tar -zxvf nginx-1.8.0.tar.gz

解压压缩文件。

7、# cd nginx-1.8.0

  8、./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

如果不加 --with-http_stub_status_module --with-http_ssl_module,后面配置https的时候会报错。

9、make && make install

10、yum -y install lrzsz

安装后启动:/usr/local/nginx/sbin/nginx

这样就安装完nginx了,用ip直接访问即可。

现在开始配置https。

直接上传代码了。


worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    tcp_nopush     on;

    keepalive_timeout  65;

    server_names_hash_bucket_size 512;

    
    server {
	    listen 80;
	    server_name www.***.com;
	   rewrite ^(.*)$  https://${server_name}$1 permanent;
    }
    server {
    listen 443;
    server_name www.***.com;
    ssl on;
    index index.html index.htm;
    ssl_certificate  /usr/local/nginx/cert/***.com.crt;
    ssl_certificate_key /usr/local/nginx/cert/***.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
	add_header Access-Control-Allow-Origin *;
	add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
	add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

	if ($request_method = 'OPTIONS') {
		return 204;
	 }	
  
        proxy_redirect off;
	proxy_redirect http:// $scheme://;
        proxy_set_header Host $host;
        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:9011;
      }
   
    }
}

将***换成你的域名,以上的配置已经解决了nginx跨域问题,默认跳转https安全访问。

上面配置有要到ssl安全证书,这个大家自行百度吧。只是将证书放到文件夹中就好了

linux安装nginx配置https_第1张图片

我的是放到了/usr/local/nginx/cert/下面。

以上nginx基本配置好了。

你可能感兴趣的:(阿里云)