日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx正向代理与反向代理的配置

發布時間:2024/1/1 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx正向代理与反向代理的配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(如有錯漏之處,敬請指正)

nginx是什么?

戳這里了解nginx概念
今年年初因為個需求才開始認識nginx的,對方只提供了一個端口訪問權限給我們,無法承擔起3、4個應用的通信需求,故引入了nginx。nginx也是軟件負載均衡的主流中間鍵,我之前都是通過f5交換機來實現的負載均衡(原來公司有錢任性哈哈)

測試虛擬機版本為:
CentOS Linux release 7.3.1611 (Core)
nginx版本為:
nginx version: nginx/1.10.1
安裝路徑為:
/usr/local/nginx

以下用到的nginx的重啟操作步驟分兩步:
先使用 nginx -t 確認配置信息是否正確,如提示如下信息,則配置無誤。

ginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

然后使用 nginx -s reload 重啟即可

nginx的配置

nginx安裝后主要配置的文件夾為conf,其中最為重要的配置文件是nginx.conf,如下:

user "具體用戶"; worker_processes 2; #設置值和CPU核心數一致 error_log /usr/local/nginx/logs/nginx_error.log crit; #日志位置和日志級別 pid /usr/local/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events {use epoll;worker_connections 65535; } http {include mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" $http_x_forwarded_for';#charset gb2312;include /usr/loca/nginx/conf.d/*.conf;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 8m;sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;#limit_zone crawler $binary_remote_addr 10m;#下面是server虛擬主機的配置server{listen 80;#監聽端口server_name localhost;#域名index index.html index.htm index.php;root /usr/local/nginx/html;#站點目錄location ~ .*\.(php|php5)?${#fastcgi_pass unix:/tmp/php-cgi.sock;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)${expires 30d;# access_log off;}location ~ .*\.(js|css)?${expires 15d;# access_log off;}access_log off;} }

我在conf文件夾外部建了個conf.d的文件夾用于存放我新增的nginx配置。通過在上面nginx.conf中添加 include /usr/loca/nginx/conf.d/*.conf來引入外部的配置文件。

nginx的正向代理配置

目標效果圖如下

由于沒有環境,只能通過摳腳的方式模擬

正向代理的配置/usr/loca/nginx/conf.d/ng.conf文件內容如下:

server {# 配置DNS解析IP地址,比如 Google Public DNS,以及超時時間(5秒)# 監聽端口listen 8081;access_log /usr/local/nginx/access.log;error_log /usr/local/nginx/error.log;location / {# 配置正向代理參數proxy_pass http://192.168.79.129:8080/;# 解決如果URL中帶"."后Nginx 503錯誤proxy_set_header Host $http_host;# 配置緩存大小proxy_buffers 256 4k;# 關閉磁盤緩存讀寫減少I/Oproxy_max_temp_file_size 0;# 代理連接超時時間proxy_connect_timeout 30;# 配置代理服務器HTTP狀態緩存時間proxy_cache_valid 200 302 10m;proxy_cache_valid 301 1h;proxy_cache_valid any 1m;} }

以上配置大致意思就是當我請求 nginx 服務(本機)http://localhost:8081時,請求會轉發到 http://192.168.79.129:8080這個地址。日志文件分別生成在
access_log /usr/local/nginx/access.log
error_log /usr/local/nginx/error.log

測試

使用 curl ‘http://localhost:8081’ 命令測試,成功返回tomcat首頁的html。
同時查看日志文件access.log可以看到如下信息

127.0.0.1 - - [19/Mar/2019:23:13:53 +0800] "GET / HTTP/1.1" 200 11250 "-" "curl/7.43.0"

nginx的反向代理

目標的效果圖如下

因為同樣摳腳的原因我的結構如下

反向代理的配置/usr/loca/nginx/conf.d/ng2.conf文件內容如下:

upstream apachephp {server localhost:8080; #引流部分,可配置多個服務地址 } server {listen 8082;#對外提供8082端口#server_name www.quancha.cn;#access_log logs/quancha.access.log main;#error_log logs/quancha.error.log;#root html;#index index.html index.htm index.php;## send request back to apache ##location / {proxy_pass http://apachephp;}}

以上配置大致意思就是當我請求 nginx 服務(本機)http://localhost:8082時,請求會轉發到多個服務地址里,本樣例的服務地址就是 http:// localhost:8080這個地址。

測試

通過使用 curl ‘http://localhost:8082’ 命令測試,成功返回tomcat首頁的html
同時查看日志文件access2.log可以看到如下信息

127.0.0.1 - - [19/Mar/2019:23:13:56 +0800] "GET / HTTP/1.1" 200 11250 "-" "curl/7.43.0"

總結

這次驗證只是簡單的對nginx的正向、反向代理功能進行驗證。nginx的負載均衡以及性能的優化待下次進一步的跟進(沒有測試環境啊~尬住)。

總結

以上是生活随笔為你收集整理的nginx正向代理与反向代理的配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。