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网站
}
和你原来的差不多呀``建立多个虚似主机就行了呀