# Работа на порте, отличном от 443: отключить перенаправление на URL без порта

**URL:** https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844
**Category:** Self-hosting
**Tags:** unsupported-install
**Created:** [17.Июль.2023 11:19:11 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844 "2023-07-17T11:19:11Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![PortChange](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/portchange/32/316112_2.png) [@PortChange](https://meta.discourse.org/u/PortChange)
#### Post date: [17.Июль.2023 11:19:11 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/1 "2023-07-17T11:19:11Z")

</div>

Я изменил app.yml на

```plaintext
expose:
  - "20632:80" # http
  #- "443:443" # https
  - "20633:443"

```

и хочу открыть Discourse по адресу [https://mydomain.com:20633](https://mydomain.com:20633), но затем он пытается перенаправить на [https://mydomain.com](https://mydomain.com), что не работает.

При использовании

```plaintext
expose:
  - "20632:20632" # http
  #- "443:443" # https
  - "20633:20633"

```

команда netstat -tulpn показывает, что слушаются эти порты, но при попытке доступа возникает тайм-аут.

Я нашёл тему на [Serve Discourse from a subfolder (path prefix) instead of a subdomain](http://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507) о запуске в подпапке, но она не применима к моему случаю.

Также нашёл тему [Install Discourse on a residential internet with Cloudflare Tunnel](http://meta.discourse.org/t/install-discourse-on-a-residential-internet-with-cloudflare-tunnel/211297).  
Она движется в правильном направлении, но не полностью решает мою задачу.

PS Извините за удаление ссылок на форум, но иначе я не могу опубликовать сообщение.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [17.Июль.2023 12:39:35 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/2 "2023-07-17T12:39:35Z")

</div>

Мы не поддерживаем работу на нестандартных портах. Если порты 80/443 уже заняты, вам потребуется использовать отдельный сервер, где они свободны, либо настроить обратный прокси для ваших других сервисов и Discourse.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [17.Июль.2023 13:05:02 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/3 "2023-07-17T13:05:02Z")

</div>

Иногда фраза «мы не поддерживаем» означает «это выходит за рамки той помощи, на которую вы можете здесь рассчитывать», но в данном случае это значит «вы зря тратите время даже на попытки».

---

<div class="post-metadata">

### Author: ![PortChange](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/portchange/32/316112_2.png) [@PortChange](https://meta.discourse.org/u/PortChange)
#### Post date: [17.Июль.2023 13:09:20 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/4 "2023-07-17T13:09:20Z")

</div>

Порты не «заняты» в обычном смысле. Discourse может захватить порты 80 и 443 на этой системе, но он уже запущен на отдельном сервере самостоятельно.  
Я застрял на шаге отключения перенаправления/удаления порта из URL, и всё должно работать как положено.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [17.Июль.2023 13:47:45 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/5 "2023-07-17T13:47:45Z")

</div>

Предотвратить это перенаправление невозможно.

Если вы не можете публиковать на стандартных портах, то это вообще не будет работать. Ваши варианты — использовать сервер, где доступны порты :80/443, или выбрать альтернативную платформу для обсуждений.

---

<div class="post-metadata">

### Author: ![PortChange](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/portchange/32/316112_2.png) [@PortChange](https://meta.discourse.org/u/PortChange)
#### Post date: [17.Июль.2023 20:31:02 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/6 "2023-07-17T20:31:02Z")

</div>

Можете помочь мне с конфигурацией обратного прокси-сервера nginx?

Я пробовал различные варианты, но без успеха.

```plaintext
server {
    listen 20633 ssl;
    server_name mydomain.com;
	
	ssl_certificate /etc/letsencrypt/live/mensa.myftp.org/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/mensa.myftp.org/privkey.pem;

    location / {
        # Удалите порт из URL в директиве proxy_pass с помощью регулярного выражения
        # Захваченная часть регулярного выражения ($1) будет заменена в URL директивы proxy_pass
        # Фактический IP-адрес и порт сервера бэкенда указаны отдельно в директиве proxy_pass
        proxy_pass http://192.168.178.31:80/
		#$request_uri;
		proxy_redirect http://192.168.178.31:80/ $scheme://$host:20633/;
		#return 301 $scheme://$host:$server_port/home;
		#proxy_redirect http://192.168.178.31:20633 $scheme://$host:80;
        
        # Сохраните заголовок Host, отправленный клиентом на сервер бэкенда
        #proxy_set_header Host $host;
		proxy_set_header Host $http_host;

    }
}

```

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [17.Июль.2023 21:36:46 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/7 "2023-07-17T21:36:46Z")

</div>

Смотрите руководство по адресу [Запуск других веб-сайтов на том же компьютере, что и Discourse](https://meta.discourse.org/t/run-other-websites-on-the-same-machine-as-discourse/17247).

---

<div class="post-metadata">

### Author: ![PortChange](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/portchange/32/316112_2.png) [@PortChange](https://meta.discourse.org/u/PortChange)
#### Post date: [18.Июль.2023 12:41:41 UTC](https://meta.discourse.org/t/running-on-different-port-than-443-disable-redirect-to-nonport-url/271844/8 "2023-07-18T12:41:41Z")

</div>

Этот учебник предназначен для запуска через Unix-сокет на том же сервере. Есть ли также конфигурация для запуска обратного прокси на другой системе с другим портом? Я думаю, что она должна быть, так как этот случай может возникать чаще. На другом хосте у меня уже есть сертификат.Просто для ясности: эта настройка предназначена только для тестирования. В продакшене она будет работать на порту 443, но для разработки и тестирования виртуальной машины дома вполне достаточно, что позволяет сэкономить на аренде сервера на это время.
