在$nginx/conf目录下创建vhosts目录,在主配置文件nginx.conf最后添加
include usr/local/nginx/conf/vhosts/*.conf;
在nginx中配置访问外网dns
vhosts/Proxy.conf配置文件
server
{
access_log logs/227-http-access.log;
listen 1888;
server_name abc.com;
resolver 8.8.8.8;#需要配置的dns
location / {
proxy_pass "https://外网域名";
}
}
Listen 1888:监听1888端口
server_name abc.com:设置的域名
resolver 8.8.8.8:在本机系统层面设置dns地址,该机器必须能访问域名
location / {
proxy_pass "https://外网域名";
}
访问abc.com的请求转到"https://外网域名"上。
Nginx单做域名转发http转https
server
{
listen 1080;
server_name bankcomm.abc.com;
location / {
rewrite ^/(.*)$ https://外网域名;
}
}
使用rewrite将来自bankcomm.guomin-bj.com:1080的信息转发到新的地址https://id.fosafer.com/sceneApi/v1/sceneDealUpgrade/,正常来说不能带这么多后缀,但是rewrite的时候这么多参数不报错。使用location匹配再跳转(匹配的访问URL路径,location可匹配本地重写以及垮服务器跳转
参考链接rewrite 重写跳转_rewrite ^(.*)$-优快云博客
nginx做负载。
upstream uaf_service {
# 应用服务器的IP,将来自www.abc.com请求转发到这两台设备上。
server 10.38.38.187:8088;
server 10.38.38.188:8088;
}
server
{
listen 8088;
server_name www.abc.com;
# 访问的路径,如:www.abc.com/realname-service
location /realname-service
{
proxy_pass http://uaf_service;
proxy_redirect off ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Referer $http_referer;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
proxy_buffer_size 512k;
proxy_buffers 16 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
}
# access_log /data/log/nginx_log/realname-service.log access;
}
配置证书,上步基础
在nginx目录下创建同权限文件夹ssl,并将证书key文件和crt文件放到该目录下,修改上步转发负载配置文件。
其他位置可不变。
upstream uaf_service {
server 10.38.38.187:8088; # 应用服务器的IP
server 10.38.38.188:8088;
}
#server {
# listen 8088;
# server_name 10.38.230.10;
server {
listen 8088 ssl;#使用8088的域名证书,8088可以修改
server_name yuming.com.cn;#域名ip
#需要提前在nginx/conf目录下创建ssl目录,然后将证书crt和key上传到该目录下,并确保crt和key可用
ssl_certificate /usr/local/nginx/conf/ssl/证书.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/证书秘钥.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 访问的路径,如:www.abc.com/realname-service
location /realname-service
{
proxy_pass http://uaf_service;
proxy_redirect off ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
.....
两个配置文件共用一个端口
在nginx.conf主配置文件中,添加下图内容,配置文件为site1.conf和site2.conf,共用80端口。