windows+nginx本地https代理(需OpenSSL支持)

一、

1、下載OpenSSL (列表最上面exe文件安裝即可)http://slproweb.com/products/Win32OpenSSL.html

安裝完成後由捐助的選項,不想捐助去掉勾選即可

二、環境配置

1、添加OPENSSL_HOME

2、path中添加%OPENSSL_HOME%

三、生成證書

1、桌面添加一個文件夾存放生成的證書

2、在文件夾下打開終端生成證書

創建私鑰指令

openssl genrsa -des3 -out zzweb.key 1024

創建 csr 證書

openssl req -new -key zzweb.key -out zzweb.csr

具體過程可參考https://www.cnblogs.com/lzcys8868/p/6281932.html

其中Common Name (eg, your name or your server's hostname) []:後需要輸入自己的域名,這個是固定的

操作如下,下面是我生成的,有標記的是輸入的,其他的可輸入可不輸入

生成的文件如下: 

 

3、刪除密碼

將 zzweb.key文件複製一份並重命名爲zzweb.key.org,與之前的文件放到同一目錄下,執行

openssl rsa -in zzweb.key.org -out zzweb.key

4、生成crt證書

openssl x509 -req -days 365 -in zzweb.csr -signkey zzweb.key -out zzweb.crt

具體操作如下:

生成的文件如下:

 

三、將zhengshu文件夾複製到nginx位置的conf文件夾下

四、配置ngnix

http {
    include       mime.types;
    default_type  application/octet-stream;
	
	#web工程1
    upstream www.zzweb.com {
        server localhost:16061;
    }

    #web工程2
    upstream www.zzback.com {
        server localhost:8086;
    }

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;
		
        location / {
            root   html;
            index  index.html index.htm;
        }
		
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
	
	server {
        listen 80;
        server_name  www.zzweb.com1;
        location / {
        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://www.zzweb.com;
        }
    }
	
	server {
		server_name www.zzweb.com;
		listen 80;
		location / {
			rewrite ^(.*) https://localhost:16061 permanent;
		}
	}
	
	server {
		listen 443 ssl;
		server_name www.zzweb.com; 

		ssl_certificate zhengshu/zzweb.crt;
        ssl_certificate_key zhengshu/zzweb.key;
        ssl_session_timeout 5m;
        #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
		ssl_session_cache    shared:SSL:1m;

        location / {
			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://localhost:16061;
        }
}
	
	
	server {
        listen 80;
        server_name  www.zzback.com;
        location / {
        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://www.zzback.com;
        }
    } 

}

五、驗證訪問www.zzweb.com,效果如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章