使用nginx重现IIS反向代理配置

时间:2014-01-24 18:53:01

标签: iis nginx

我正在尝试使用nginx重现IIS反向代理配置。该应用程序用于移动iphone应用程序与LAN上的配置服务器进行通信。移动应用程序和Web服务器都是第三方,缺少文档。

的web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Authenticate" stopProcessing="true">
                <match url="^authenticate(.*)" />
                <action type="Rewrite" url="http://INTERNALIP:80{R:1}" logRewrittenUrl="true" />
            </rule>
            <rule name="SAC" stopProcessing="true">
                <match url="^sac(.*)" />
                <action type="Rewrite" url="http://INTERNALIP:5447{R:1}" logRewrittenUrl="true" />
            </rule>
            <rule name="Config" stopProcessing="true">
                <match url="^config(.*)" />
                <action type="Rewrite" url="http://INTERNALIP:5449{R:1}" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

阅读完文档并查看其他帖子。我想出了我的服务器指令。

nginx.conf

server {
    listen 5600;

    server_name mobile.example.com;
    access_log /var/log/nginx/log/rproxy.log;
    error_log /var/log/nginx/log/error.log;

    location ^~ /authenticate(.*){
            rewrite ^/authenticate(.*)/ /$1 break;
            proxy_pass http://INTERNALIP;
    }

    location ^~ /sac(.*){
            rewrite ^/sac(.*)/ /$1 break;
            proxy_pass http://INTERNALIP:5447;
    }

    location ^~ /config(.*){
            rewrite ^/config(.*)/ /$1 break;
            proxy_pass http://INTERNALIP:5449;
    }
}

我在日志中看到了一些数据,但这并不是我所期待的,而且我在这里进行故障排除时遇到了困难。我真的希望我知道请求是什么样的,并且有某种请求流,但我没有。

的access.log

xx.xx.xx.xx - - [24/Jan/2014:18:33:45 +0000] "\x16\x03\x01\x00\xA1\x01\x00\x00\x9D\x03\x01R\xE2\xB2\x09\xBC\x9F\xE4h\x04_\x8C\x0C[\x94\x1E\xE66H\x1DLY^H\x16\xF5U\xF4\xF8" 400 172 "-" "-"
xx.xx.xx.xx - - [24/Jan/2014:18:33:45 +0000] "\x16\x03\x01\x00\xA1\x01\x00\x00\x9D\x03\x01R\xE2\xB2\x09\xD8>e\x15\x89\xF1\xC1,\xC6_Qj\x96\x88\xC8\x11\x06P=\xB2OE\xB6\xA4,\xE7;/\x00\x00J\x00\xFF\xC0$\xC0#\xC0" 400 172 "-" "-"
xx.xx.xx.xx - - [24/Jan/2014:18:33:45 +0000] "\x16\x03\x00\x00E\x01\x00\x00A\x03\x00R\xE2\xB2\x09\x09\xEC(\xCE\xD3\xB7$\xA7T\x0C\xEA\xEF^0\xF9In*Y@\xFE\x9F\x09\xD3W\xA8)f\x00\x00\x1A\x00\xFF\x00=\x00<\x00/\x00\x05\x00\x04\x005\x00" 400 172 "-" "-"

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

我发现这个问题正在搜索“\ x16 \ x03 \ x01 \ x00”,我在整个access.log中也看到了这个问题而不了解我在看什么。这是原始的ssl通过。对我来说,我有http重定向到https但我的服务器定义看起来像

server {
    listen 443;
    server_name my.server.com;
    ...
}

我通过将缺少的“默认ssl”添加到监听行来解决问题。

server {
    listen 443 default ssl;
    server_name my.server.com;
    ...
}