nginx配置代理
① nginx如何代理到自己的服務
首先使用curl檢查你要代理的服務是否已經通了,curl http://127.0.0.1:8000/api/get/info/ping,返回pong就沒問題,沒有就在nginx
添加個access log和errorlog,訪問然後查看日誌排查原因。
② 怎麼配置Nginx以代理多個後台地址
nginx.conf的配置如下,這個是反向代理集群的配置文件。
#usernobody;
worker_processesauto;
error_loglogs/error.log;
#error_loglogs/error.lognotice;
error_loglogs/error.loginfo;
pidlogs/nginx.pid;
events{
worker_connections65535;
}
http{
includemime.types;
default_typeapplication/octet-stream;
log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'
'$status$body_bytes_sent"$http_referer"'
'"$http_user_agent""$http_x_forwarded_for"';
access_loglogs/access.logmain;
#server_names_hash_bucket_size128K;
client_header_buffer_size32k;
large_client_header_buffers432k;
client_body_buffer_size8m;
server_tokensoff;
ignore_invalid_headerson;
sendfileon;
tcp_nopushon;
keepalive_timeout65;
proxy_temp_path/usr/local/nginx-1.8/proxy_temp;
proxy_cache_path/usr/local/nginx-1.8/proxy_cachelevels=1:2keys_zone=cache_one:100minactive=2dmax_size=10g;
gzipon;
gzip_disable"MSIE[1-6].(?!.*SV1)";
gzip_min_length1k;
gzip_buffers416k;
gzip_http_version1.0;
gzip_comp_level2;
gzip_typestext/plainapplication/x-javascripttext/cssapplication/xml;
upstreamname{
server116.31.118.114:8098weight=2fail_timeout=3sbackup;----代理地址集群
server114.55.32.244:888weight=1max_fails=3fail_timeout=300;----代理地址集群
server114.55.85.154:8080weight=1max_fails=3fail_timeout=300;----代理地址集群
ip_hash;
}
server{
listen443default;---監聽埠
server_namewww.***.com;
server_tokensoff;
sslon;---https配置
ssl_certificate/usr/local/nginx/conf/web.crt;---https配置
ssl_certificate_key/usr/local/nginx/conf/web.key;---https配置
error_page497https://$host:$server_port$request_uri;---https配置
location~*/{
proxy_set_headerHost$http_host;---獲取真實IP的
proxy_set_headerX-Real-IP$remote_addr;---獲取真實IP的
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;---獲取真實IP的
proxy_passhttp://name;--反向代理
proxy_http_version1.1;
proxy_set_headerAccept-Encoding"";
location~.*.(gif|jpg|png|html|css|js|ico|swf|pdf)(.*){--緩存網站內容
proxy_passhttp://name;
proxy_next_upstreamerrortimeoutinvalid_headerhttp_500http_502http_503http_504;
proxy_redirectoff;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_cachecache_one;
add_headerNginx-Cache$upstream_cache_status;
proxy_cache_valid20030430130224h;
proxy_cache_valid4041m;
proxy_cache_validany2d;
proxy_cache_key$host$uri$is_args$args;
expires7d;
}
}
location~/purge(/.*)
{
auth_basic"TDTCenterCACHECenter";
auth_basic_user_file/tmp/htpasswd;
allow127.0.0.1;
denyall;
proxy_cache_purgecache_one$host$1$is_args$args;
}#error_page404/404.html;
#error_page400501502503504https://$host:$server_port$request_uri;
#location=/50x.html{
#roothtml;
#}
#/50x.html
#
#error_page500502503504/50x.html;
}
}
③ Nginx代理本地web伺服器怎麼配置
在nginx.conf配置文件中,修改location位置配置,參考專如屬下:
location/{
proxy_passhttp://ip:port
}
④ 如何用 Nginx 配置透明 HTTP 和 HTTPS 代理
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。
1、首先需要配置站點的WoSign SSl證書
打開Nginx安裝目錄下conf目錄中的nginx.conf文件 找到
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
將其修改為 :
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate sslkey/public.cer; (證書公鑰)
ssl_certificate_key sslkey/private.key; (證書私鑰)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
保存退出,並重啟Nginx。
通過https方式訪問您的站點,測試站點證書的安裝配置。
3、配置強身份認證
1、 修改nginx.conf文件
如果要求客戶採用客戶證書認證方式,可以在原來的配置下增加如下參數:
server {
......
......
......
ssl_verify_client on 要求SSL客戶證書認證。
ssl_client_certificate trust.cer 簽發客戶證書的CA證書,用來驗證客戶證書。
ssl_verify_depth 3 SSL客戶證書認證鏈長度。
}
4、重啟站點使用您的客戶端證書進行登陸測試
⑤ 為什麼nginx配置了proxy
Nginx配置proxy_pass轉發的/路徑問題
在nginx中配置proxy_pass時,如果是按照^~匹配路徑時,要注意proxy_pass後的url最後的/,當加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分也給代理走。
location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
proxy_pass js.test.com/;
}
如上面的配置,如果請求的url是servername/static_js/test.html
會被代理成js.test.com/test.html
而如果這么配置
location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
proxy_pass js.test.com;
}
則會被代理到js.test.com/static_js/test.htm
當然,我們可以用如下的rewrite來實現/的功能
location ^~ /static_js/
{
proxy_cache js_cache;
proxy_set_header Host js.test.com;
rewrite /static_js/(.+)$ /$1 break;
proxy_pass js.test.com;
⑥ 想用nginx配置一個最簡單的代理轉發的功能,請問怎麼實現
伺服器配置在192.168.253.119,在http下添加個server
server{
listen 8080;#監聽埠,根據你的需要進行修改(建議改為80)
resolver 114.114.114.114;#dns伺服器,你這個不加應該也行,因為只用IP的
access_log logs/proxy.access.log proxy buffer=1024k;#日誌路徑,可以不寫
location ~ ^/web/service\.aspx$ {
proxy_pass http://192.168.253.129$request_uri;
}
⑦ nginx怎麼配置tomcat反向代理
1. 前期准備
nginx 安裝成功
tomcat 安裝成功
2. 更改nginx的配置文件
更改nginx.conf文件,在http/server/location層次結構下,添加proxy_pass http://localhost:7080; 一句話即可。注意不要放了;結尾。
3. 重啟nginx,在瀏覽器中輸入nginx的訪問地址,顯示的就是Tomcat的訪問地址。
4. 現在雖然nginx反向代理成功了,但是為了更好的發揮nginx的性能。我們將Tomcat的js、html、圖片等靜態文件配置到nginx上進行緩存,這樣就可以提高應用的訪問效率了。
5. 刪除 location / 節點,避免全部請求被攔截。新增 location ~ \.jsp$ 節點和 location ~ \.(html|js|css|png|gif|jpg)$ 節點,如下圖。
6. 訪問http://10.0.6.108:7788,返回nginx 404。這是因為匹配的location,應用自動跳轉到nginx的404.
訪問http://10.0.6.108:7788/index.jsp,返回到tomcat頁面。因為jsp會自動匹配配置的location。
訪問http://10.0.6.108:7788/tomcat.png,也能正確顯示tomcat的logo。說明nginx配置的靜態文件location是生效的。
至此,Nginx配置反向代理Tomcat完成。
⑧ 如何使用nginx設置反向代理
修改部署目錄下conf子目錄的nginx.conf文件(如nginx-1.5.13conf
ginx.conf)內容,可調整相關配置。
反向代理配置示例:
location/{
#設置主機頭和客戶端真實地址,以便伺服器獲取客戶端真實IP
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
#禁用緩存
proxy_bufferingoff;
#設置反向代理的地址
proxy_passhttp://192.168.1.1;
}
代理地址根據實際情況修改。
⑨ 路由怎麼設置nginx反向代理
如已經安裝好了nginx相關的環境,現僅展示相關的反向代理的配置。默認nginx.confi的配置,可能與下面的圖會有不同,重要的是後面的配置。
已經安裝好了nginx相關的環境,現僅展示相關的反向代理的配置。默認nginx.confi的配置,可能與下面的圖會有不同,重要的是後面的配置。
-----注意查找nginx的默認配置文件,nginx.conf文件
修改設置代理
在nginx.conf配置中添加下圖相關的配置,以線圈中的,其中的路徑要以實際的配置文件路徑為主
查看上面的配置中有引用/usr/local/u-mail/config/nginx/reverse-proxy.conf 配置文件.
檢查測試配置
配置完後,使用nginx –t的命令測試一下,配置是否正確.是否有提示相關的錯誤.這個服務的路徑要以具體的為主.
如配置有問題,按相關的提示進行更改.對比上面的配置信息進行查看.然後再重啟下nginx的服務,使其載入剛剛的配置.
7
測試效果
再訪問測試下相關的站點是否正常.是否會跳轉到對應網站
8
除了nginx映射之外
我們還可以通過使用設置域名解析URL跳轉來做(只有部分域名解析服務商才提供此項服務)
⑩ nginx如何配置多IP的HTTP正向代理
server {
listen 192.168.1.2:80;
server_name 192.168.1.2;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
html; index index.html index.htm;
root D:\phpcms網站
}
server {
listen 192.168.1.5:80;
server_name 192.168.1.5;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
html; index index.html index.htm;
root D:\phpcms網站
}
和你原來的差不多呀``建立多個虛似主機就行了呀