配置文件 默認放置位置:{nginx}/conf.d/,以conf結(jié)尾
一、http簡單配置
server {
listen 80;
server_name www.test.cn;
root /mnt/website/ROOT;
if ( $query_string ~* ".*[;'<>].*" ){
return 404;
}
if ( $query_string ~* ".*script.*" ){
return 404;
}
location ~* ^/WEB-INF/.*$
{
deny all;
}
location ~* ^/(UserFiles|userfiles|images|Images|upload)/.*\.(jsp|js)$
{
deny all;
}
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://127.0.0.1:8888;
}
}
server{
server_name test.cn;
root /mnt/website/ROOT;
location ^~ / {
rewrite ^(.*) http://www.test.cn$1 permanent;
}
}
說明:
1,http默認端口是80
2,http://127.0.0.1:8888;為實際本地服務(wù)端口
3,一般服務(wù)域名為二級域名www,一級域名一般也配置指向www域名。
二、https配置
首先得申請ssl證書,百度,阿里都有免費證書可用,申請成功后,下載nginx壓縮包,解壓后,可見兩種后綴文件,一個是xxx.key,另一個是xxx.crt,或者是xxx.pem。文件名可以隨意更改,一般改為域名。
其次是配置文件配置
server {
listen 443;
server_name www.test.cn;
root /mnt/website/ROOT;
ssl on;
ssl_certificate /etc/nginx/ssl/www.test.cn.crt;
ssl_certificate_key /etc/nginx/ssl/www.test.cn.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
if ( $query_string ~* ".*[;'<>].*" ){
return 404;
}
if ( $query_string ~* ".*script.*" ){
return 404;
}
location ~* ^/imgPath/.*$
{
rewrite ^/imgPath(.*) http://img.test.cn/imgPath$1 last;
}
location ~* ^/WEB-INF/.*$
{
deny all;
}
location ~* ^/(UserFiles|userfiles|images|Images|upload)/.*\.(jsp|js)$
{
deny all;
}
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://127.0.0.1:8888;
}
}
說明:
1,https端口為443,此端口不是服務(wù)器默認開放端口,需要單獨打開。
2,ssl文件放置正確即可。crt文件換成pem文件亦可。
3,資源文件路徑可指向其他域名,可見location ~* ^/imgPath/.*$這段
三、單域名指向本地不同服務(wù),以https配置為例
upstream shop {
server 127.0.0.1:7777;
}
server {
listen 443;
server_name www.test.cn;
root /mnt/website/ROOT;
ssl on;
ssl_certificate /etc/nginx/ssl/www.test.cn.crt;
ssl_certificate_key /etc/nginx/ssl/www.test.cn.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
if ( $query_string ~* ".*[;'<>].*" ){
return 404;
}
if ( $query_string ~* ".*script.*" ){
return 404;
}
location ~* ^/imgPath/.*$
{
rewrite ^/imgPath(.*) http://img.test.cn/imgPath$1 last;
}
location ~* ^/WEB-INF/.*$
{
deny all;
}
location ~* ^/(UserFiles|userfiles|images|Images|upload)/.*\.(jsp|js)$
{
deny all;
}
location / {
rewrite ^(.*) https://www.test.com$1 permanent;
}
location /shop/ {
proxy_pass http://shop;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
}
說明:
1,upstream shop,shop只能出現(xiàn)一次
2,可以是本地服務(wù),亦可是其他ip服務(wù),127.0.0.1換成對應(yīng)ip即可文章來源:http://www.zghlxwxcb.cn/news/detail-405507.html
3,location /shop/ ,此塊必須在server的區(qū)塊內(nèi),/shop/為訪問路徑,即https://www.test.cn/shop/xxx,為訪問路徑文章來源地址http://www.zghlxwxcb.cn/news/detail-405507.html
到了這里,關(guān)于Nginx配置http和https的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!