Ubuntu Nginx 配置 HTTPS

前一段时间为了给微信小程序搭建后台,域名必须采用https,所以踩坑无数,终于布置完成。

关于nginx的安装,我就不写了,网上有很多。

先贴上我的nginx配置。

server {
	listen 443 ssl;
	listen [::]:443 ssl;
	root /web/hxp;
	index index.html;
	server_name hxp.xyz www.hxp.xyz;
	ssl_certificate /web/ssl/1_www.hxp.xyz_bundle.crt;
	ssl_certificate_key /web/ssl/2_www.hxp.xyz.key;
	location /mina/ {
		proxy_pass http://127.0.0.1:6100/;
	}
	location ~ .*\.(gif|jpg|jpeg|png)$ {  
		expires 24h;  
		root /web/hxp1024/img/;#指定图片存放路径  
		#access_log /usr/local/websrv/nginx-1.9.4/logs/images.log;#日志存放路径  
		proxy_store on;  
		proxy_store_access user:rw group:rw all:rw;  
		proxy_temp_path     /web/hxp1024/img;#图片访问路径  
		proxy_redirect     off;  
		proxy_set_header    Host 127.0.0.1;  
		client_max_body_size  10m;  
		client_body_buffer_size 1280k;  
		proxy_connect_timeout  900;  
		proxy_send_timeout   900;  
		proxy_read_timeout   900;  
		proxy_buffer_size    40k;  
		proxy_buffers      40 320k;  
		proxy_busy_buffers_size 640k;  
		proxy_temp_file_write_size 640k;  
		if ( !-e $request_filename)  
		{  
			proxy_pass http://127.0.0.1;#默认80端口  
		}  
	} 
}

 

一、Nginx配置文件

我用的操作系统是ubuntu,nginx的目录在/etc/nginx。

nginx的配置文件在/etc/nginx/sites-available。

Ubuntu Nginx 配置 HTTPS_第1张图片

把default文件下载到本地,用记事本打开。

默认的监听80端口的server不要动。

Ubuntu Nginx 配置 HTTPS_第2张图片

在下面重新写一个server,就是开篇的那个。

这两句是监听443端口。

listen 443 ssl;
listen [::]:443 ssl;

 根目录,主页面,这里改成你自己的域名。

root /web/hxp;
index index.html;
server_name hxp.xyz www.hxp.xyz;

ssl文件存放的位置。

ssl_certificate /web/ssl/1_www.hxp.xyz_bundle.crt;
ssl_certificate_key /web/ssl/2_www.hxp.xyz.key;

 我后端用的是flask,端口开的是6100,这句代码的意思是当我(外网)访问https://www.hxp.xyz/mina的时候,就相当于在本机(ubuntu服务器端)访问http://127.0.0.1:6100/。

我之前折腾了好久,最后去B站找了个专门讲解location的视频才把这个问题解决,我太菜了。

location /mina/ {
	proxy_pass http://127.0.0.1:6100/;
}

这个是说访问https://www.hxp.xyz/test.jpg的时候,可以访问到ubuntu服务器上的/web/hxp1024/img/test.jpg这个图片。

location ~ .*\.(gif|jpg|jpeg|png)$ {
...
root /web/hxp1024/img/;#指定图片存放路径  
...
}

 

你可能感兴趣的:(Linux杂谈,nginx,flask,https)