Назад | Перейти на главную страницу

SQUID: невозможно запретить порт 80

Я бы хотел, чтобы мой сайт работал только с https. Я попробовал следующее решение: Перенаправление обратного прокси-сервера Squid / перезапись HTTP на HTTPS

acl PORT80 myport 80
acl MYSITE dstdomain foo.server.com
http_access deny PORT80 MYSITE
deny_info 301:https://foo.server.com%R MYSITE

В моем случае:

acl PORT80 myport 80
acl MYSITE dstdomain www.asrtos.com
http_access deny PORT80 MYSITE
deny_info 301:https://www.asrtos.com%R MYSITE

Это не работает, потому что браузер все еще может получить доступ к порту 80.

Что я могу сделать? Большое спасибо за твою помощь.

Мой файл squid.conf:

#
# Recommended minimum configuration:
#

debug_options ALL,1 33,2 28,9

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 82.223.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 443 563 # https

acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# accept only SSL ports
http_access deny  !Safe_ports
http_access allow  Safe_ports

acl PORT80 myport 80
acl MYSITE dstdomain www.asrtos.com
http_access deny PORT80 MYSITE
deny_info 301:https://www.asrtos.com%R MYSITE

 http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
https_port 443 accel cert=/etc/ssl/certs/asrtos.com_ssl_certificate.cer key=/etc/ssl/certs/_.asrtos.com_private_key.key cafile=/etc/ssl/certs/_.asrtos.com_ssl_certificate_INTERMEDIATE.cer defaultsite=workflow01.asrtos.com

 cache_peer 82.223.66.210 parent 80 0 no-query originserver name=hp # If you use one single computer, write this instead:
 http_port 3128 accel defaultsite=workflow01.asrtos.com vhost       # Doc config reverse proxy sous linux

# And finally deny all other access to this proxy
 http_access deny all

# Uncomment the line below to enable disk caching - path format is /cygdrive/<full path to cache folder>, i.e.
#cache_dir aufs /cygdrive/d/squid/cache 3000 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/cache/squid

max_filedescriptors 3200

Инфраструктура должна быть следующей:

https - [Reverse Proxy SQUID] - http - [Domino Server] <- -> (базы данных Domino)

Http-сервер является частью сервера Domino. (Задание сервера домино)

Обратный прокси-сервер Squid и серверы Domino установлены на одном компьютере с Windows 2008 R2. Интернет-приложение обращается к базе данных домино через сервер Domino.

В соответствии с правом пользователя серверное домино отправляет форму входа в систему для идентификации пользователя. Все вычисления прав пользователя автоматически берет на себя сервер домино.

В режиме http (в незащищенном режиме все работает очень хорошо). Мне нужно установить безопасный режим, и все работает хорошо, за исключением:

Когда веб-клиент отправляет этот URL: https://www.asrtos.com/database.nsf

Сервер отправляет форму входа для проверки прав пользователя, а затем открывает следующий URL: http://www.asrtos.com/database.nsf (тот же URL в незащищенном режиме).

Если я вручную изменю URL-адрес: https://www.asrtos.com/database.nsf все работает хорошо. Но всегда можно вручную вернуться в небезопасный режим: http: // ...

У меня нет доступа к задаче HTTP, которая интегрирована с сервером Domino.

Поэтому я не знаю, как сделать перенаправление внутри http-сервера Domino.

Я надеюсь, что можно будет найти решение внутри прокси.

Эта конфигурация Squid в порядке:

минимальная конфигурация:

debug_options ALL, 0

acl localnet src 82.223.0.0/12 # RFC1918 возможная внутренняя сеть acl localhost src 127.0.0.1/255.255.255.255 acl Safe_ports port 443 # https

cache_peer myServer.myDomain parent 8088 0 no-query originserver name = myServer.myDomain Front-End-Https: On # Если вы используете один компьютер, напишите вместо этого: https_port 443 Accel cert = / etc / ssl / certs / myDomain_ssl_certificate.cer ключ = / etc / ssl / certs / _. myDomain_private_key.key cafile = / etc / ssl / certs / _. myDomain_ssl_certificate_INTERMEDIATE.cer defaultsite = myServer.myDomain http_port 80 Accel defaultsite = myServer.myDomain

http_access разрешить Safe_ports

acl PORT80 порт 80 http_access deny PORT80 deny_info 301:https: //% H% R ПОРТ80

http_access запретить все http_port 3128 прозрачные dns_nameservers 127.0.0.1

max_filedescriptors 3200