Моно через FastCGI на nginx

Когда Вы используете, роют вместо nslookup, Вы получаете еще некоторую информацию:

$ dig zen.spamhaus.org

; <<>> DiG 9.6.2-P2-RedHat-9.6.2-5.P2.fc12 <<>> zen.spamhaus.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21906
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;zen.spamhaus.org.      IN  A

;; AUTHORITY SECTION:
zen.spamhaus.org.   150 IN  SOA need.to.know.only.hostmaster.spamhaus.org. 1007212045 3600 600 432000 150

Для получения дополнительной информации о том, как создать такие субдомены, см. это ПРАКТИЧЕСКОЕ РУКОВОДСТВО.

1
задан 16 April 2012 в 00:52
1 ответ

Требуются два дополнительных параметра FastCGI.

fastcgi_param SERVER_PORT "80";
fastcgi_param SCRIPT_NAME $fastcgi_script_name;

Благодарим KnyghtMare из IRC-канала #mono за его тестовый сценарий. Путем исключения необходимые параметры для nginx conf были найдены. Примечание по использованию: вам может потребоваться изменить IP-адрес и номер порта в последней строке и HTTP_HOST .

SERVER_SOFTWARE="lighttpd/1.4.26" \
SERVER_NAME="127.0.0.1" \
GATEWAY_INTERFACE="CGI/1.1" \
SERVER_PORT="80" \
SERVER_ADDR="127.0.0.1" \
REMOTE_PORT="28886" \
REMOTE_ADDR="127.0.0.1" \
SCRIPT_NAME="/" \
PATH_INFO="" \
SCRIPT_FILENAME="/var/www/" \
DOCUMENT_ROOT="/var/www/" \
REQUEST_URI="/" \
QUERY_STRING="" \
REQUEST_METHOD="GET" \
REDIRECT_STATUS="200" \
SERVER_PROTOCOL="HTTP/1.1" \
HTTP_HOST="arch" \
HTTP_CONNECTION="keep-alive" \
HTTP_CACHE_CONTROL="max-age=0" \
HTTP_USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11" \
HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \
HTTP_ACCEPT_ENCODING="gzip,deflate" \
HTTP_ACCEPT_LANGUAGE="en-US,en;q=0.8" \
HTTP_ACCEPT_CHARSET="ISO-8859-1,utf-8;q=0.7,*;q=0.3" \
cgi-fcgi -bind -connect 127.0.0.1:9000

После некоторых дополнительных изменений, чтобы заставить файлы ресурсов работать, это текущая конфигурация:

server
{
        listen 80;
        server_name arch;

        access_log /var/www/test/log/access.log;
        error_log /var/www/test/log/error.log debug;

        root /var/www/test/public;

        location /
        {
                try_files $uri @proxy;
        }

        location @proxy
        {
                fastcgi_index /Home;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param PATH_INFO "";
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SERVER_PORT $server_port;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
}
3
ответ дан 3 December 2019 в 19:12

Теги

Похожие вопросы