正向代理
正向代理:代理的是瀏覽器,例如翻牆服務等
#curl http://www.baidu.com/ -x http://www.siguoya.name:3333/
server {
listen 3333;
server_name www.siguoya.name;
location / {
proxy_pass http://$http_host$request_uri;
#如果在代理配置中,我們使用域名而不是IP來表示真實的服務器,則一定要通過resolver指令指定一個dns服務器才行
resolver 114.114.114.114;
}
}
反向代理
反向代理:代理的是服務器,例如隱藏服務器的真實地址,通過80端口訪問非公開的端口等
location /some/path/ {
proxy_pass http://www.example.com/link/;
}
參考文檔:
- https://moe.best/technology/p...
- http://www.ttlsa.com/nginx/ng...
相關指令
| 指令 | 説明 |
|---|---|
| proxy_buffering | 類似於tcp_nopush,可以提高網絡傳輸的效率 |
| proxy_redirect | 設置代理重定向 |
| proxy_set_header | 設置代理頭信息 |
| proxy_hide_header | 隱藏代理頭信息 |
| proxy_set_body | 設置代理請求的數據 |
| proxy_connect_timeout | 設置代理連接超時 |
| proxy_read_timeout | 設置代理獲取響應的超時 |
| proxy_send_timeout | 設置代理髮出請求的超時 |
| proxy_cookie_domain | 設置cookie的域名範圍 |
常用配置示例
location / {
proxy_pass http://www.baidu.com/;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 30;
proxy_read_timeout 60;
proxy_send_timeout 60;
proxy_buffer_size 32k;
proxy_buffering on;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
}
對於通用的配置塊,例如http與https的相同區塊,我們可以分離到一個單獨的文件,然後通過incude來進行載入
正向代理與反向代理的區別就在於代理的對象是不一樣的。
專題閲讀
- 1. Nginx的優點
- 2. Nginx的安裝與開機自啓
- 3. Nginx目錄和配置語法
- 4. Nginx模塊
- 5. Nginx靜態資源處理
- 6. Nginx瀏覽器緩存原理
- 7. Nginx資源的跨域訪問
- 8. Nginx資源的防盜鏈
- 9. Nginx代理
- 10. Nginx負載均衡
- 11. Nginx緩存
- 12. Nginx動靜分離
- 13. Nginx Rewrite
- 14. Nginx Secure Link
- 15. Nginx Geo
- 16. Nginx HTTPS服務
- 17. Nginx與Lua開發
- 18. Nginx與Lua灰度發佈
- 19. Nginx常見錯誤
- 20. Nginx性能優化
- 21. Nginx安全管理