nginx详细配置

配置http,https域名证书:
应用场景:配置移动端和PC端的https协议
服务器必须开放80,443端口(80是http协议,443是https协议)
server中设置443端口,配置域名,配置证书的pem,key文件,再配置location
server {
    listen 80;
    server_name aftersale.sbwg.cn;
    rewrite ^(.*)$ https://$host$1;
}

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为server {
    listen 80;
    server_name aftersale.sbwg.cn;
    rewrite ^(.*)$ https://$host$1;
}

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name aftersale.sbwg.cn; #需要将yourdomain.com替换成证书绑定的域名。
    # root html;
    # index index.html index.htm;
    ssl_certificate conf.d/certificate/6552133_aftersale.sbwg.cn.pem;#需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key conf.d/certificate/6552133_aftersale.sbwg.cn.key;#需要将cert-file-name.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; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;


    location / {
		root  /usr/share/nginx/html/official;#站点目录:即html前端页面目录
        try_files $uri $uri/ /h5/index.html;#这段表示$uri 就是访问路径,访问的如果是localhost:80/地址的话,那么就是/,回去站点目录下找index.html,$uri/就是比如输入admin,就会重定向去official目录下寻找admin的文件然后再去找index页面,如果输入adminaaa,重定向时在official目录没有找到adminaaa的目录,就重定向到/h5/index.html去,加起来就是/usr/share/nginx/html/official/h5/index.html。(后面没有写index index.html;的话,nginx也是有默认的)
	}

    # location ~ .*\.(gif|jpg|jpge|bmp|png|ico|js|css|txt|html|htm|ttf|woff|woff2|tmpl|json)$ { 
    # 	 root   /usr/share/nginx/html/official;#站点目录:即html前端页面目录
    #    try_files $uri $uri/ /h5/index.html;#
	#	 index index.html index.htm index.jsp
	# }
    
	#前端发送请求地址:例如aftersale.sbwg.cn/api-h5/user/userinfo?id=1 则会重定向到本location的地址下
	location /api-h5/{
		#proxy_set_header Host $http_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;
		proxy_set_header Host $host:443;
		proxy_set_header X-NginX-Proxy true;
		proxy_pass http://172.16.189.207:5801/;
	}
    location /api-admin/{
	 	proxy_set_header Host $http_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;
	 	proxy_pass http://172.16.189.207:5801/;
	 }
}443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name aftersale.sbwg.cn; #需要将yourdomain.com替换成证书绑定的域名。
    # root html;
    # index index.html index.htm;
    ssl_certificate conf.d/certificate/6552133_aftersale.sbwg.cn.pem;#需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key conf.d/certificate/6552133_aftersale.sbwg.cn.key;#需要将cert-file-name.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; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;


    location / {
		root  /usr/share/nginx/html/official;#站点目录:即html前端页面目录
        try_files $uri $uri/ /h5/index.html;#这段表示$uri 就是访问路径,访问的如果是localhost:80/地址的话,那么就是/,回去站点目录下找index.html,$uri/就是比如输入admin,就会重定向去official目录下寻找admin的文件然后再去找index页面,如果输入adminaaa,重定向时在official目录没有找到adminaaa的目录,就重定向到/h5/index.html去,加起来就是/usr/share/nginx/html/official/h5/index.html。(后面没有写index index.html;的话,nginx也是有默认的)
	}

    # location ~ .*\.(gif|jpg|jpge|bmp|png|ico|js|css|txt|html|htm|ttf|woff|woff2|tmpl|json)$ { 
    # 	 root   /usr/share/nginx/html/official;#站点目录:即html前端页面目录
    #    try_files $uri $uri/ /h5/index.html;#
	#	 index index.html index.htm index.jsp
	# }
    
	#前端发送请求地址:例如aftersale.sbwg.cn/api-h5/user/userinfo?id=1 则会重定向到本location的地址下
	location /api-h5/{
		#proxy_set_header Host $http_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;
		proxy_set_header Host $host:443;
		proxy_set_header X-NginX-Proxy true;
		proxy_pass http://172.16.189.207:5801/;
	}
    location /api-admin/{
	 	proxy_set_header Host $http_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;
	 	proxy_pass http://172.16.189.207:5801/;
	 }
}


posted @ 2022-09-15 16:55  断桥殇残雪余  阅读(109)  评论(0编辑  收藏  举报