1

У меня есть сервер, работающий на порту 80 на Mac.

Я также хотел бы иметь тот же контент, который подается на порт 80, доступный на порт 443.

Я хотел бы знать, есть ли способ командной строки или простой в использовании инструмент, который позволил бы мне взять любой не-SSL-порт, зашифровать его и подать его на зашифрованный SSL-порт, независимо от сервера, который обслуживает контент на порту 80

РЕДАКТИРОВАТЬ: я не имею контроля над конфигурацией сервера для того, что обслуживает контент на порт 80. Но я бы хотел, чтобы такой же контент подавался на порт 443. Как я могу это сделать?

Я подозреваю, что это может быть как-то сделано с SSH (переадресация локальных портов), но я не смог найти ничего, что, кажется, работает. Я открыт для использования любых инструментов с открытым исходным кодом, чтобы сделать это .... Apache, ssh, iptables .... все работает!

3 ответа3

3

Перед сервером может быть что-то, что переводится из SSL в TCP, например, stunnel или подобное программное обеспечение.

1

Это обрабатывается на стороне сервера, а не через переадресацию портов. Вам просто нужно включить SSL, который позволит вам получать контент через HTTPS через порт 443.

Как это сделать для Apache:

http://httpd.apache.org/docs/current/ssl/ssl_howto.html

0

Это также можно сделать с помощью Apache и мод-прокси .... Мне удалось сделать это с помощью XAMPP и httpd.conf по умолчанию, который поставляется вместе с XAMPP путем добавления следующего в нижней части их файла "etc/httpd.conf"

ServerName localhost

ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid

<Proxy balancer://mycluster>
   BalancerMember http://localhost route=myroute
</Proxy>

SSLHonorCipherOrder On
SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite RC4-SHA:HIGH:!ADH

и комментируя последние 2 строки этого файла, те, которые

  # Include etc/extra/httpd-xampp.conf
  # Include "/Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf"

и изменение порта по умолчанию, на котором работал apache, с 80 на что-то другое (например, 800)

Listen 800

Я уверен, что это может быть сделано с меньшим количеством настроек, чем это, но это сработало для меня ;-)

Примечание: При желании, если вы хотите сделать так, чтобы все http-запросы переписывались в https (а вы не делали строку Listen 800 выше), вы можете сделать следующее, используя mod rewrite:

  # Rewrite all http requests to https
  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .