Nginx配置http和https的實(shí)現(xiàn)步驟
配置文件 默認(rèn)放置位置:{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默認(rèn)端口是80
2,http://127.0.0.1:8888;為實(shí)際本地服務(wù)端口
3,一般服務(wù)域名為二級(jí)域名www,一級(jí)域名一般也配置指向www域名。
二、https配置
首先得申請ssl證書,百度,阿里都有免費(fèi)證書可用,申請成功后,下載nginx壓縮包,解壓后,可見兩種后綴文件,一個(gè)是xxx.key,另一個(gè)是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ù)器默認(rèn)開放端口,需要單獨(dú)打開。
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即可
3,location /shop/ ,此塊必須在server的區(qū)塊內(nèi),/shop/為訪問路徑,即https://www.test.cn/shop/xxx,為訪問路徑
到此這篇關(guān)于Nginx配置http和https的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Nginx配置http和https內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解
這篇文章主要介紹了Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解,注意一下rewrite的寫法規(guī)則,需要的朋友可以參考下2016-01-01
使用Nginx限制IP請求和并發(fā)連接數(shù)的實(shí)現(xiàn)方法
本文主要介紹了使用Nginx限制IP請求和并發(fā)連接數(shù)的實(shí)現(xiàn)方法,通過使用Nginx的限制模塊,我們可以輕松地實(shí)現(xiàn)對IP請求和并發(fā)連接數(shù)的限制,具體就跟小編一起來了解一下2024-03-03
Nginx服務(wù)器下使用rewrite重寫url以實(shí)現(xiàn)偽靜態(tài)的示例
這篇文章主要介紹了Nginx服務(wù)器下使用rewrite重寫url以實(shí)現(xiàn)偽靜態(tài)的示例,這里舉了Discuz!和WordPress這兩個(gè)常用的PHP程序,需要的朋友可以參考下2015-12-12
Nginx設(shè)置日志打印post請求參數(shù)的方法
這篇文章主要介紹了Nginx設(shè)置日志打印post請求參數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
nginx反向代理用做內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)
這篇文章主要為大家詳細(xì)介紹了nginx反向代理用做內(nèi)網(wǎng)域名轉(zhuǎn)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
詳解Nginx實(shí)戰(zhàn)之讓用戶通過用戶名密碼認(rèn)證訪問web站點(diǎn)
這篇文章主要介紹了詳解Nginx實(shí)戰(zhàn)之讓用戶通過用戶名密碼認(rèn)證訪問web站點(diǎn),有興趣的可以了解一下。2016-11-11
nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn)
這篇文章主要介紹了nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

